如何在Linux命令行下收听网络电台
对于花大量时间在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命令行下收听网络电台相关推荐
- 如何在Linux命令行下发送和接收UDP数据包
众所周知,在传输层有两个常用的协议 TCP 和 UDP,本文介绍在 Linux 命令行下,如何使用 nc 命令发送或接收 UDP 数据包,这些命令的用法对调试 UDP 通信程序将有所帮助. 1. 问题 ...
- 查询linux下的命令是什么意思,技术|如何在Linux命令行下查询字典?
大多数人在遇到他们不熟悉的单词时会查询google.或者他们用一个最喜欢的在线字典来提供答案.当你在没有网络连接的时候怎么办?或者你只有一个古老的Linux发行版且你没有GUI界面?你需要离线查找的话 ...
- 如何在Linux命令行中替换多个文件中的字符串
本文翻译自:How to replace a string in multiple files in linux command line I need to replace a string in ...
- linux命令行下命令参数前的一横(-)和两横(--)的区别
linux命令行下命令参数前的一横(-)和两横(--)的区别 原文转自:http://blog.csdn.net/songjinshi/article/details/6816776 在解释这些区别之 ...
- ffmpeg linux 命令,Linux命令行下转换媒体格式工具FFMPEG介绍
Linux命令行下转换媒体格式工具FFMPEG介绍 格式:ffmpeg [[输入文件选项]- i 输入文件名] {[输入文件选项] 输出文件名} 主要选项: -L 显示ffmpeg的版权说明 -h 显 ...
- linux命令行下载github文件,Linux命令行下使用GitHub
Linux命令行下使用GitHub 1.注册github账号 2.创建ssh密钥 cd ~ ssh-keygen -t rsa -C your_email@example.com 1 2 cd~ ss ...
- linux 命令api,linux命令行下字典,使用有道API
Linux命令行下的字典,使用"exit"退出.大家简单申请一个key就可以用了. 这里 申请 #!/usr/bin/python3.2 import urllib.request ...
- 【转】Linux命令行下svn ignore忽略文件或文件夹用法
转自:Linux命令行下svn ignore忽略文件或文件夹用法 - 陌上归人的博客 - 博客园 一.忽略单个目录 1.忽略文件夹 假如目录oa.youxi.com是从svn checkout出来的, ...
- 命令行给php脚本传参,如何在CLI命令行下运行PHP脚本,同时向PHP脚本传递参数?...
标签:c t sp get int name php test print root enter //命令行输入输出流 fwrite(STDOUT," ...
最新文章
- postergresql mysql_PosttgreSQL快速入门:PostgreSQL的安装和配置
- CIO无法忽视的三大云角色
- 转载:概率与梳理统计||数学基础
- 待研究金华的存储过程
- endpointimpl怎么填参数_这是一篇VLOOKUP函数家族主要用法的合集,XLOOKUP来了!真香!但是,没有office365吃不着怎么办?...
- DBeaver连接达梦|虚谷|人大金仓等国产数据库
- 6、jeecg 笔记之 自定义excel 模板导出(一)
- 知乎高赞:自控力极差的人如何自救?
- windows环境下部署Tomcat到服务器
- linux环境Mechanize安装,在linux下安装activepython2.5 setuptools ClientCookie
- python通过selenium模块模拟自动登录(以QQ空间为例)
- MUI框架常用代码段
- python网课培训班学费一般多少
- AI口罩“督查官”诞生记
- 项目播报 | 方正璞华×联影医疗,赋能医疗行业新升级!
- acwing 95. 费解的开关(蓝桥杯)
- bootstrap 初学 1
- 小程序添加插屏广告教程
- 产品经理的职责 产品规划 产品设计 推导研发 职责误区
- 还款计划公式计算大全
热门文章
- Crossing River(信息学奥赛一本通-T1232)
- C语言基础知识(二)-------C++变量及赋值
- win10 linux装软件有哪些,win10若何装linux,win10安装linux双系统的详细教程,微商必备软件有哪些...
- vscode输入vue自动_使用vscode,新建.vue文件,tab自动生成vue代码模板
- re匹配字符串的中间一段_爬虫利器之 re 模块
- OpenCV辅助对象(help objects)(2)_Range
- Python 同一个类中不同函数相互调用
- Hadoop核心组件之HDFS,MapReduce,YARN概述
- java引用类型_Java引用类型
- pcfg 自然语言处理_自然语言处理导航