前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Volumio中使用命令行网易云音乐

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

作者头像
美丽应用
发布2018-07-20 13:51:33
3.3K0
发布2018-07-20 13:51:33
举报
文章被收录于专栏:美丽应用美丽应用

文章更新:   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中,在文件末尾另起一行,加入以下内容:

代码语言:javascript
复制
# Locale Settings
export LC_CTYPE=en_US.UTF-8

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

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

Screenshot_20170304-125910.png
Screenshot_20170304-125910.png

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

  终端执行:

sudo vim /boot/config.txt

  在其中找到这一行:

代码语言:javascript
复制
dtparam=audio=on 

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

代码语言:javascript
复制
# dtparam=audio=on 

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

sudo vim /etc/asound.conf

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

代码语言:javascript
复制
pcm.!default  {
 type hw card 0
}
ctl.!default {
 type hw card 0
}

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

aplay -l

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

代码语言:javascript
复制
**** 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,播放一首音乐,如果还是听不到音乐的话按"="键即可增大音量,不出意外的话,音乐可以正常播放了~

Screenshot_20170304-132410.png
Screenshot_20170304-132410.png

参考资料:

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档