在Volumio中使用命令行网易云音乐

文章更新:   20170304 初次成文

问题提出:

  虽然适用于Linux系统的网易云音乐PC客户端已经在网易云音乐官网上架(仅适用于深度和Ubuntu系统),但因为我们的树莓派是Arm架构,所以专为PCLinux开发的客户端是不能在我们小小的树莓派上跑的。好在Github上有大神搞出了基于Python的网易云音乐命令行版本NetEase-MusicBox(以下简称MusicBox):

  项目地址: https://github.com/darknessomi/musicbox

  庆幸的是,MusicBox是可以完美运行在树莓派的Raspbian上并可以通过树莓派板载的3.5mm插口将声音信号输出的。这也为我们小小的树莓派增加了更多的可玩性(比如可以为家庭音响系统提供在线音源等)。

  在上一篇文章中:

玩转Volumio的DLNA特性

  小苏介绍了在Volumio上DLNA特性的几种使用姿势,但是唯独没有提到网易云音乐的DLNA特性。这是因为由于Android版网易云音乐对DLNA的兼容性原因,无法正常通过DLNA将音乐推送到Volumio中播放。但是通过BubbleUPnp或者AllCast却可以正常推送并播放音乐。但小苏又是个网易云音乐的重度用户,所以小苏就琢磨着能不能把MusicBox搞到Volumio上,这样就可以将音乐通过Dac扩展板解码后输出了(因为在Raspbian上MusicBox虽然是可以正常工作,但自带的3.5mm插口是有一些杂音的)~

  但是这个问题却折磨了小苏很久,因为Volumio基于Raspbian,所以命令行的网易云音乐是可以安装和运行的,但是音频信号输出却有点问题:

  1. 不论音乐是否在播放,树莓派板载的3.5mm插口都会输出超大音量的杂音信号;

  2. 当音乐正在播放时,Dac扩展板上的3.5mm插口听不到任何声音。

  这就非常蛋疼了,虽然MusicBox可以运行,但是无法输出音频信号MusicBox也属于摆设了。

解决方案:

  经过小苏的锲而不舍夜以继日的的折腾,终于解决了这个问题。折腾步骤如下:   1. 安装MusicBox:

  我们使用pip安装MusicBox,因为Volumio默认是没有部署Python环境的,所以在安装pip的时候apt包管理器会"顺便"帮我们部署好Python环境。

sudo apt-get install python-pip #安装pip包管理器及其依赖组件 sudo pip install NetEase-MusicBox #使用pip安装MusicBox sudo apt-get install mpg123 #安装mp3解码器

  2. 测试MusicBox:

  MusicBox安装完成后,在终端中执行:

musicbox #(无需sudo)

  即可进入命令行版网易云音乐的界面。但如果你看到的界面只有字母和数字,而没有汉字的话你需要进行以下操作(如果显示没有问题则可以跳过这一步):

cd ~ #切换到用户主目录 vim .bashrc #编辑bash配置文件

  在.bashrc中,在文件末尾另起一行,加入以下内容:

# Locale Settings
export LC_CTYPE=en_US.UTF-8

  值得一提的是,Volumio的默认Shell是bash,如果你之前更换过Shell,那么你需要在~下找到你当前使用的Shell对应的配置文件来修改。

  保存之后退出当前SSH会话并重新登录(无需重启),重新执行musicbox后应该恢复正常了:

  在Raspbian下,到这一步MusicBox就配置完成了。如果实在Volumio下,还需要进行屏蔽板载声卡的操作。   3. 屏蔽板载声卡:

  终端执行:

sudo vim /boot/config.txt

  在其中找到这一行:

dtparam=audio=on 

  在这一行前加上#号注释掉:

# dtparam=audio=on 

  修改完成后保存,接着我们修改另一个文件:

sudo vim /etc/asound.conf

  此文件在默认情况下应该是一个空白文件,将以下内容填入此文件:

pcm.!default  {
 type hw card 0
}
ctl.!default {
 type hw card 0
}

  修改完成后,保存并重启系统。重启完成后,在终端执行:

aplay -l

  终端应该会返回以下结果:

**** List of PLAYBACK Hardware Devices ****
card 0: sndrpihifiberry [snd_rpi_hifiberry_dacplus], device 0: HiFiBerry DAC+ HiFi pcm512x-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

  我们发现执行结果中只存在HiFiBerry一个声卡,说明我们屏蔽板载声卡的操作成功(在未屏蔽状态下执行aplay -l后,返回结果中应该有3.5mm,HDMI和HiFiBerry三个声卡)。

  接着进入MusicBox,播放一首音乐,如果还是听不到音乐的话按"="键即可增大音量,不出意外的话,音乐可以正常播放了~

参考资料:

  NetEase-MusicBox项目: https://github.com/darknessomi/musicbox

  全新配置 HiFiBox DAC + Volumio 系统: http://shumeipai.nxez.com/2016/12/04/configuring-volumio-155-for-hifibox-dac.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏BIT泽清

这些年iOS AppStore 套壳开发上架从棋牌类到彩票类在到如今的金融原油期货类App过程

下面给大家讲讲作者我“ios开发子”这些年iOS AppStore 套壳开发上架过程-从棋牌类到彩票类在到如今的金融原油期货类App-过程中所遇到的一些开发问题...

1.1K3
来自专栏SAP最佳业务实践

SAP最佳业务实践:半成品的计划与处理(234)-4成品生产2

生产订单处理(产成品) 此操作介绍如何将生成的计划订单转换成生产订单。在这种情况下,通过集中转换计划订单来完成此操作。 由于此数据是复制到生产订单的,因此对于此...

3545
来自专栏FreeBuf

低成本安全硬件实战遇到的那些事

世界属于终端 世界属于Linux 世界属于算法 楔子 今年二月份,通过@ya0guang大神的文章我初步接触到了安全硬件低成本调教的姿势,我将跟随ya0guan...

2229
来自专栏PHP在线

2018年值得关注度的语言、框架和工具

前端框架:Angular 2,Vue.js,Bootstrap,LESS / SASS。 Web Web平台最近取得了两个重大进展——Web Assembly...

36112
来自专栏大数据文摘

一个可以把web表单变成会话形式的开源框架

4825
来自专栏noteless

8.web的发展 互联网发展 起源 历史 cgi web项目发展 企业应用web项目 框架 发展 互联网技术发展 互联网技术包括 web技术发展 web开发技术

计算机网络把分布于各地的单独的计算机连接起来,可以进行数据的共享与交互.这是web的根基

1622
来自专栏Web 开发

纸上谈兵之高性能Web开发

今天一连两次被问到简历中提到的高性能Web开发方面的事,看来这种大标题很有诱惑力。

990
来自专栏何俊林

仿摩拜单车APP(包括附近车辆、规划路径、行驶距离、行驶轨迹记录,导航等)

本文是由奇虎360公司高磊关于使用百度地图仿摩拜单车APP,原文地址:http://blog.csdn.net/gaolei1201/article/detai...

2969
来自专栏Zchannel

Windows 10四月更新(1803)的各类问题及疑难杂症和解决办法

1573
来自专栏FreeBuf

浅谈拒绝服务攻击的原理与防御(4):新型DDOS攻击 – Websocket和临时透镜

0×01 前言 前几天我已经分别发了三篇关于DDOS攻击相关的文章,我也是第一次在freebuf上发表这种文章,没想到有那么多人点击我真的很开心,前几天我为大家...

2165

扫码关注云+社区