如何在树莓派4(Ubuntu Server 22.04 64位)上用Python3播放MP3文件?
问题描述
我原本在Ubuntu 20.04系统中使用playsound库执行以下代码播放音频:
playsound("/dev/shm/tts-speech.mp3")
但升级到Ubuntu 22虚荣心ander后atek后工具 方法Identify要.me推荐检测到了,于是改用preferredsoundplayer库的playsound方法,在PC上运行正常,但在树莓派4上执行时出现异常输出且无声音:
>>> import preferredsoundplayer as ps >>> ps.playsound("/dev/shm/tts-speech.mp3") (' ', '')
请问在树莓派4上用Python播放音频文件的最简单方法是什么?或如何修复preferredsoundplayer?
解决方案
一、树莓派4上最简单的Python音频播放方法
直接调用系统自带的音频工具,用subprocess执行命令,稳定性高且兼容性好,步骤如下:
- 先安装MP3播放工具(树莓派默认可能未预装):
sudo apt install mpg123 - 用Python调用
mpg123播放音频:import subprocess subprocess.run(["mpg123", "/dev/shm/tts-speech.mp3"], check=True) - 如果是WAV格式音频,直接用系统自带的
aplay即可,无需额外安装:import subprocess subprocess.run(["aplay", "/dev/shm/tts-speech.wav"], check=True)
二、修复preferredsoundplayer的可行方向
排查系统音频配置
- 通过
raspi-config进入System Options > Audio,确认已选择正确的音频输出设备(比如3.5mm耳机口、HDMI)。 - 先在终端直接测试音频文件:执行
mpg123 /dev/shm/tts-speech.mp3,如果系统层面都没声音,说明是音频配置问题,和库无关。
- 通过
安装库依赖的底层工具
preferredsoundplayer会自动匹配系统中的音频播放器,树莓派可能缺失必要组件,执行以下命令补充安装:sudo apt install alsa-utils mpg123 vlc安装完成后重新运行Python代码尝试。
手动指定播放器
强制让preferredsoundplayer使用mpg123播放器,避免自动匹配出错:import preferredsoundplayer as ps ps.playsound("/dev/shm/tts-speech.mp3", player="mpg123")
内容的提问来源于stack exchange,提问作者user1759557
相关产品推荐
相关产品推荐

