3

我想构建使用我的 Raspberry Pi 作为媒体站。它应该能够通过网络命令播放歌曲。这些命令应该由用 Python 编写的服务器处理。因此,我需要一种通过 Python 控制音频播放的方法。

我决定为 linux 使用命令行音乐播放器,因为它们应该为音频文件格式提供最大的灵活性。此外,像 PyAudio 和 PyMedia 这样的 Python 库似乎对我不起作用。

我对音乐播放器的期望并不高。必须可以在尽可能多的编解码器中播放和暂停声音文件,并可以调高和调低音量。此外,它必须是无头播放器,因为我没有运行任何桌面环境。似乎有很多这样的球员。例如,mpg123 可以很好地满足我的所有需求。

我现在遇到的问题是所有这些播放器似乎都有一个用 ncurses 编写的用户界面,我不知道如何使用 Python 子进程模块访问它。所以,我要么需要一个带有 Python 绑定的音乐播放器,要么需要一个可以通过 subprocess 模块用命令行控制的音乐播放器。至少这些是我现在想到的解决方案。

有谁知道可以解决我的问题的 linux 命令行音频播放器?或者还有其他方法吗?

提前致谢

4

2 回答 2

3

mpd应该很适合你。它是一个守护进程,可以由各种客户端控制,从无 GUI 的命令行客户端到mpcGUI 命令行客户端ncmpcncmpcpp再到几个功能齐全的桌面客户端。

mpd+mpc应该为您完成这项工作,因为mpc可以通过命令行轻松控制,并且还能够提供有关当前播放的歌曲和其他内容的各种状态信息。

似乎已经有一个可用于 mpd - 的 python 客户端库python-mpd

于 2013-01-02T10:08:13.990 回答
1

我建议您使用可以通过 D-Bus 管理的媒体播放器。这会解决你的很多问题。

像 Rythmbox 这样的媒体播放器可以使用 D-Bus 进行控制,但我想这对于您的 Raspberry 卡来说可能有点“巨大”?

看看那里,以防万一:使用 D-Bus 管理 rythmbox

于 2013-01-02T10:07:47.953 回答