对于花大量时间在Linux屏幕前的系统管理员和Linux爱好者来说,网络/本地电台上的音乐可以极大提高生产力,你们知道吗?不管你们相信与 否,,在工作环境中有适当的声音,如音乐或者闲聊声包围,都可以提高我们的创造力。如果你喜欢在音乐环境中工作,这个教程也许会对你有用。我将会向你展示如何在命令行中收听潘多拉(Pandora)在线电台(LCTT译注:Pandora Internet Radio是一个仅为美国、澳大利亚和新西兰提供自动音乐推荐的系统。详细介绍Prandoea电台)

正如你已经知道的,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在Frdora系统中编译安装。该教程在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

本文由 LCTT 原创翻译,Linux中国 荣誉推出

如何在Linux命令行下收听网络电台相关推荐

  1. 如何在Linux命令行下发送和接收UDP数据包

    众所周知,在传输层有两个常用的协议 TCP 和 UDP,本文介绍在 Linux 命令行下,如何使用 nc 命令发送或接收 UDP 数据包,这些命令的用法对调试 UDP 通信程序将有所帮助. 1. 问题 ...

  2. 查询linux下的命令是什么意思,技术|如何在Linux命令行下查询字典?

    大多数人在遇到他们不熟悉的单词时会查询google.或者他们用一个最喜欢的在线字典来提供答案.当你在没有网络连接的时候怎么办?或者你只有一个古老的Linux发行版且你没有GUI界面?你需要离线查找的话 ...

  3. 如何在Linux命令行中替换多个文件中的字符串

    本文翻译自:How to replace a string in multiple files in linux command line I need to replace a string in ...

  4. linux命令行下命令参数前的一横(-)和两横(--)的区别

    linux命令行下命令参数前的一横(-)和两横(--)的区别 原文转自:http://blog.csdn.net/songjinshi/article/details/6816776 在解释这些区别之 ...

  5. ffmpeg linux 命令,Linux命令行下转换媒体格式工具FFMPEG介绍

    Linux命令行下转换媒体格式工具FFMPEG介绍 格式:ffmpeg [[输入文件选项]- i 输入文件名] {[输入文件选项] 输出文件名} 主要选项: -L 显示ffmpeg的版权说明 -h 显 ...

  6. linux命令行下载github文件,Linux命令行下使用GitHub

    Linux命令行下使用GitHub 1.注册github账号 2.创建ssh密钥 cd ~ ssh-keygen -t rsa -C your_email@example.com 1 2 cd~ ss ...

  7. linux 命令api,linux命令行下字典,使用有道API

    Linux命令行下的字典,使用"exit"退出.大家简单申请一个key就可以用了. 这里 申请 #!/usr/bin/python3.2 import urllib.request ...

  8. 【转】Linux命令行下svn ignore忽略文件或文件夹用法

    转自:Linux命令行下svn ignore忽略文件或文件夹用法 - 陌上归人的博客 - 博客园 一.忽略单个目录 1.忽略文件夹 假如目录oa.youxi.com是从svn checkout出来的, ...

  9. 命令行给php脚本传参,如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?...

    标签:c   t   sp   get   int   name   php   test   print   root   enter //命令行输入输出流 fwrite(STDOUT," ...

最新文章

  1. postergresql mysql_PosttgreSQL快速入门:PostgreSQL的安装和配置
  2. CIO无法忽视的三大云角色
  3. 转载:概率与梳理统计||数学基础
  4. 待研究金华的存储过程
  5. endpointimpl怎么填参数_这是一篇VLOOKUP函数家族主要用法的合集,XLOOKUP来了!真香!但是,没有office365吃不着怎么办?...
  6. DBeaver连接达梦|虚谷|人大金仓等国产数据库
  7. 6、jeecg 笔记之 自定义excel 模板导出(一)
  8. 知乎高赞:自控力极差的人如何自救?
  9. windows环境下部署Tomcat到服务器
  10. linux环境Mechanize安装,在linux下安装activepython2.5 setuptools ClientCookie
  11. python通过selenium模块模拟自动登录(以QQ空间为例)
  12. MUI框架常用代码段
  13. python网课培训班学费一般多少
  14. AI口罩“督查官”诞生记
  15. 项目播报 | 方正璞华×联影医疗,赋能医疗行业新升级!
  16. acwing 95. 费解的开关(蓝桥杯)
  17. bootstrap 初学 1
  18. 小程序添加插屏广告教程
  19. 产品经理的职责 产品规划 产品设计 推导研发 职责误区
  20. 还款计划公式计算大全

热门文章

  1. Crossing River(信息学奥赛一本通-T1232)
  2. C语言基础知识(二)-------C++变量及赋值
  3. win10 linux装软件有哪些,win10若何装linux,win10安装linux双系统的详细教程,微商必备软件有哪些...
  4. vscode输入vue自动_使用vscode,新建.vue文件,tab自动生成vue代码模板
  5. re匹配字符串的中间一段_爬虫利器之 re 模块
  6. OpenCV辅助对象(help objects)(2)_Range
  7. Python 同一个类中不同函数相互调用
  8. Hadoop核心组件之HDFS,MapReduce,YARN概述
  9. java引用类型_Java引用类型
  10. pcfg 自然语言处理_自然语言处理导航