如何在Linux命令行下收聽網路電台
正如你已經知道的,Pandora是最有名的在線電台服務之一,它包含無數的不同種類的免費音樂流,同時它還有一個強大的音樂推薦引擎。Pandora可以通過不同的方式訪問,如:瀏覽器,桌面客戶端或者手機Apps,開源社區還給出了另一種訪問Pandora音樂服務的方法:Linux命令行。
pianobar是一個播放Pandora在線電台音樂的開源命令行音樂播放器。它有一個簡單的終端介面,用於播放和管理音樂電台。同時還有其他包括歌曲評價,即將上線音樂列表,播放歷史,自定義快捷鍵綁定,遠程控制等功能。對於那些居住在不可訪問Pandora音樂服務區域的用戶(即美國、澳大利亞和紐西蘭以外的用戶),Pianobar還配置了代理服務的支持。
在Linux中安裝Pianobar
在Debian或者其他Debian的衍生品中,如Ubuntu或LinuxMint,Pianobar是一個已經編譯好的軟體包,因此安裝Pianobar只是簡單的輸入如下命令:
$ sudo apt-get install pianobar
在Fedora中,Pianobar並不包含在基礎的軟體庫中。因此,你需要通過源代碼編譯安裝Pianobar。整個安裝過程會有點麻煩,但是下面的教程將會實現Pianobar在Fedora系統中編譯安裝。該教程在Fedora20版本中測試通過。
首先,根據FFmpeg安裝教程編譯並安裝FFmpeg。
然後,啟用RPM Fusion源,並安裝其他依賴軟體:
$ sudo yum install wget gcc-c++ pkgconfig gnutls-devel json-c-devel libgcrypt-devel make libao-devel faad2-devel libmad-devel libao faad2-libs
編譯並安裝Pianobar
$ wget http://6xq.net/projects/pianobar/pianobar-2014.06.08.tar.bz2
$ tar xvfvj pianobar-2014.06.08.tar.bz2
$ cd pianobar-2014.06.08
$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH make
$ sudo make install
最後允許Paniobar載入安裝在/usr/local/lib目錄下的FFmpeg共享庫,在/etc/ld.so.conf配置文件中添加下面一行:
/usr/local/lib
重載所有的共享庫
$ sudo ldconfig
就這樣,Pianobar已經在Fedora系統中安裝完成。
在命令行中收聽Pandora音樂
paniobar的基本用法是輸入如下命令:
$ pianobar
該命令將會要求你登錄到Pandora並從你的個性化電台列表中選擇要收聽的電台。在你選擇電台後,音樂就開始自動播放。
按『?』按鍵pianobar會列出一系列可用個命令,其中一些如下:
- s: 更換電台
- u: 查看即將上線音樂列表
- h: 查看播放歷史
- n: 播放下一首
- b: 收藏歌曲或藝術家
- ( 或者 ): 減少或增加播放音量
- S: 暫停播放
- P: 恢復播放
- V:為當前收聽的歌曲或者藝術家創建一個電台
- +或者-:查看上一首或者下一首歌曲
- a:添加音樂到電台
- q:退出pianobar
將Pianobar配置為自動安裝
你可以在一個單獨的配置文件中配置Pianobar的各項默認配置。例如:你可以將你的登錄信息放到配置文件中,這樣你就不用每次都要手動輸入。下面是如何創建一個配置文件的示例:
$ mkdir -p ~/.config/pianobar
$ vi ~/.config/pianobar/config
# Example pianobar configuration file
# Pandora login info
user = your@email_address
password = plaintext_password
# Users who cannot access Pandora in their region can set a proxy.
control_proxy = http://user:password@host:port/
# Initial volume in dB: between -30 and +5
volume = 0
# Audio quality: high, medium or low
audio_quality = high
如需了解完整的配置選項,請參閱其man手冊頁。
$ man pianobar
遠程控制Pianobar
Pianobar的另一個優秀特性是支持遠程控制,你可以通過命令管道(FIFO)為Pianobar的一個運行實例發送命令。下面是遠程控制Pianobar的示例:
首先在目錄~/.config/pianobar下創建一個FIFO命令管道
$ mkfifo ~/.config/pianobar/ctl
然後運行Pianobar
現在,你可以通過使用echo命令發送任何的單字元命令鍵到Pianobar中,例如:播放下一首歌曲:
$ echo -n 'n' > ~/.config/pianobar/ctl
你可以很容易的將此配置擴展到遠程計算機中,當Pianobar在主機X上運行,你可以從遠程主機Y中通過SSH控制Pianobar,如下所示:
在主機Y中,運行:
$ ssh user@host_X "echo -n 'n' > ~/.config/pianobar/ctl"
當然,你希望為登錄到主機X的SSH登錄認證啟用秘鑰認證,這樣你就不用每次都輸入SSH密碼。
當你想在樹莓Pi上設置一個可以遠程控制的在線電台播放器時,Pianobar的遠程控制特性將會讓你非常方便地實現該需求。
希望你和我一樣喜歡Pianobar,若有什麼想法,請在評論中告訴我。
via: http://xmodulo.com/2014/08/listen-to-internet-radio-command-line-linux.html
作者:Dan Nanni 譯者:cvsher 校對:Caroline
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive