2013-01-02 55 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,不幸的是 –