Ubuntu运行Python VLC播放音频报错NameError: no function 'libvlc_new'如何解决
报错原因
python-vlc仅为VLC的Python接口绑定,不包含底层核心依赖libvlc。Windows环境通常会随VLC客户端或python-vlc包自动安装该依赖,而Ubuntu默认不自带,仅通过pip安装python-vlc会缺失底层调用入口,因此抛出找不到libvlc_new函数的错误。
修复步骤
- 先安装Ubuntu系统层面的libvlc相关依赖,执行终端命令:
sudo apt update && sudo apt install -y vlc libvlc-dev libvlccore-dev - 依赖安装完成后无需修改原有代码,直接重新运行即可正常播放音频。
跨平台兼容备用方案
如果你尝试其他播放库也存在适配问题,可使用pydub+simpleaudio的方案,跨Windows/Ubuntu兼容性更强:
- 安装依赖:
- Ubuntu端先安装ffmpeg:
sudo apt install -y ffmpeg - 全平台安装Python依赖:
pip install pydub simpleaudio requests
- Ubuntu端先安装ffmpeg:
- 示例代码:
from pydub import AudioSegment from pydub.playback import play import requests from io import BytesIO # 播放网络MP3 url = "https://samplelib.com/lib/preview/mp3/sample-3s.mp3" audio_content = BytesIO(requests.get(url).content) audio = AudioSegment.from_file(audio_content, format="mp3") play(audio) # 播放本地MP3 # audio = AudioSegment.from_file("本地文件路径.mp3", format="mp3") # play(audio)
内容的提问来源于stack exchange,提问作者Avishek Paul
相关产品推荐
相关产品推荐

