2013-01-02 51 views
3

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

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

我对音乐播放器并没有太大的期望。必须尽可能在尽可能多的编解码器中播放和暂停声音文件,并上下调整音量。由于我没有运行任何桌面环境,它也必须是无头玩家。看起来,这里有很多像这样的球员。例如,mpg123可以满足我需要的所有功能。

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

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

在此先感谢

回答

3

mpd应该是您的最佳选择。它是一个守护进程,可以由各种客户端控制,范围从无GUI的命令行客户端(如mpc)到GUI命令行客户端(如ncmpcncmpcpp),直至多个全功能桌面客户端。

mpd + mpc应该为你做的工作为mpc可以通过命令行很容易地控制,并且还能够提供有关当前播放的歌曲和其他东西的各种状态信息。

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

+0

确实非常有用。谢谢! – j0ker

1

我建议是,你使用可以通过d-总线管理的媒体播放器。这将解决您的许多问题。

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

看一看那里,以防万一:Managing rythmbox with D-Bus

+0

有没有无头的rhythmbox版本? – scai

+0

AFAIK,不幸的是 –