从 URL 获取音频并播放
Posted
技术标签:
【中文标题】从 URL 获取音频并播放【英文标题】:Getting audio from a URL and playing it 【发布时间】:2019-03-05 15:48:16 【问题描述】:有一个指向mp3
文件的链接,该文件需要从URL
流式传输,如http://example.com/music_radio.mp3
并在计算机上播放。网上虽然有流音频的例子,但是主要是针对Python2
的,而对于Python3
已经没有这样的库了,我试着这样做:
import vlc
p = vlc.MediaPlayer ("http://example.com/music_radio.mp3")
p.play ()
但它总是显示错误:
Traceback(最近一次调用最后一次):文件“PythonProjects / URL / main.py”,第 2 行,在导入 vlc 文件“PythonProjects/URL/venv/ lib/python3.6/site-packages/vlc/init.py”,第 3 行,公开 import ModuleNotFoundError: 没有名为“public”的模块
问题是public
模块没有安装。您如何解决这个问题,或者您如何通过引用接收和播放音频?
UPD:该链接建议使用非工作代码或使用 Python2 而非 Python3 的代码
UPD2:使用python-vlc
时,出现此错误:
Traceback(最近一次调用最后一次):文件 “PythonProjects/URL/main.py”,第 4 行,在 导入 vlc 文件“PythonProjects/URL/venv/lib/python3.6/site-packages/vlc.py”, 第 203 行,在 dll,plugin_path = find_lib() 文件“PythonProjects/URL/venv/lib/python3.6/site-packages/vlc.py”, 第 194 行,在 find_lib 中 ctypes.CDLL('libvlccore.dylib') 文件 "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ctypes/init.py", 第 348 行,在 init 中 self._handle = _dlopen(self._name, mode) OSError: dlopen(libvlccore.dylib, 6): image not found
【问题讨论】:
How to play mp3 from URL的可能重复 @MatthewSmith,此链接不包含我的问题的解决方案。 查看***.com/questions/34348607/… @MatthewSmith 无论如何都会出错,但是在使用python-vlc
时会出错
【参考方案1】:
如果这有帮助
from IPython.display import Audio
Audio(url="http://www.nch.com.au/acm/8k16bitpcm.wav")
【讨论】:
以上是关于从 URL 获取音频并播放的主要内容,如果未能解决你的问题,请参考以下文章