You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派Python脚本播放音频报错:Namespace Gst not available 求助

解决树莓派Python脚本中playsound报错"Namespace Gst not available"的问题

我之前在树莓派上折腾音频播放时刚好碰到过这个问题,本质是playsound在Linux环境下依赖的GStreamer多媒体框架组件不全,导致无法调用音频处理接口。下面是亲测有效的解决步骤:

一、补全GStreamer核心组件

打开树莓派的终端,先更新软件源,再安装GStreamer的基础插件和工具:

sudo apt update
sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly

这些包包含了处理MP3等常见音频格式必需的解码器和运行组件,缺一不可。

二、安装Python的GStreamer绑定库

playsound需要通过Python调用GStreamer的接口,所以得装对应的Python绑定:

sudo apt install python3-gi python3-gst-1.0

其中python3-gi是GTK+的Python绑定(GStreamer依赖它),python3-gst-1.0是GStreamer的专属Python库,两个都要装。

三、验证并重新测试脚本

安装完成后,建议重启一下终端(或者重新加载环境变量),然后再运行你的脚本:

import playsound
playsound.playsound('morning.mp3', True)

如果还是报错,先检查morning.mp3的路径是否正确——要么把音频文件和脚本放在同一目录,要么用绝对路径(比如/home/pi/morning.mp3)。

备选方案:换用更省心的pygame库

要是上面的方法还是搞不定,也可以试试树莓派原生支持的pygame,它的音频播放功能更稳定:

  1. 先安装pygame:
sudo apt install python3-pygame
  1. 修改你的播放脚本:
import pygame
pygame.mixer.init()
pygame.mixer.music.load('morning.mp3')
pygame.mixer.music.play()
# 等待音频播放完毕再退出
while pygame.mixer.music.get_busy():
    continue

内容的提问来源于stack exchange,提问作者Sevval Kahraman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:23:31