适用于Linux的Python可控命令行音频播放器

时间:2013-01-02 10:02:57

标签: python linux audio

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

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

我对音乐播放器的期望并不高。必须能够在尽可能多的编解码器中播放和暂停声音文件并上下调高音量。此外,它必须是一个无头的播放器,因为我没有运行任何桌面环境。似乎有很多像这样的球员。例如,mpg123适用于我需要的所有内容。

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

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

提前致谢

2 个答案:

答案 0 :(得分:3)

mpd对你来说应该是完美的。它是一个守护进程,可以由各种客户端控制,从无GUI的命令行客户端(如mpc)到GUI命令行客户端(如ncmpcncmpcpp,最多几个完整 - 特色桌面客户端。

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

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

答案 1 :(得分:1)

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

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

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