GHOST系统之家 - Windows系统光盘下载网站!
当前位置:GHOST系统之家>电脑问题 > 【硬创邦】跟hoowa学做智能路由(十三):网络音箱之Android篇

【硬创邦】跟hoowa学做智能路由(十三):网络音箱之Android篇

来源:Ghost系统之家浏览:时间:2023-04-12 16:17:43

(题图来自toodaylab.com)

我们继续网络音箱的专题,这章将介绍安卓系统下的MP标准软件控制路由器播放音乐。

什么是MP

MP全称为音乐播放进程(Music PlayerDaemon)。它是一个可定制化功能强大的服务端播放音乐软件,通过其自身的插件和库系统即可完成通过网络控制播放音乐。MP具备一个自己的控制管理协议,这些协议是基于TCP协议进行传输的。客户端连接到服务器上控制服务端进行处理。MPD表示服务端,MPC表示客户端。

MP是一个完全开放源代码的整体系统,因此有很多操作系统下的客户端,在安卓手机中即可使用MPDroid这个软件控制服务端播放,而如果您需要开发自己的产品,完全可以参考官方的资料自己开发一个控制程序,甚至给服务端增加新的功能。

使用MP的好处是,只要你的手机连接到家里的路由器上既可以控制播放音乐,而手机还随身携带,这样不影响你扫地啊、煮饭啊等等工作是不是。

MP的官方网站为http://www.musicpd.org/

安装MPD服务

首先确保你12章的测试和操作OK声卡已经正常工作了。

然后开始安装软件包,我们教程中使用的是mpd-mini该软件包是mpd的OpenWRT精简版完成了主要的功能,而且也比较节省CPU和内存。

root@SmartRouter:/# opkg update
root@SmartRouter:/# opkg install mpd-mini

为MPD准备文件夹和文件

第一步:创建必须的文件夹,在这一步,我们选择使用extdisk作为存储位置,这样的好处是上传到系统的文件可以通过Windows文件共享等方式实现。当然你也可以开发一个新的客户端软件实现将手机的音乐同步到服务端上。

创建音乐文件存放位置

root@SmartRouter:/# mkdir -p /mnt/extdisk/music
root@SmartRouter:/# chmod -R 777 /mnt/extdisk/music

创建播放列表存放位置

root@SmartRouter:/# mkdir -p /mnt/extdisk/music_playlist
root@SmartRouter:/# chmod -R 777 /mnt/extdisk/music_playlist

创建播放器数据位置

root@SmartRouter:/# mkdir -p /mnt/extdisk/music_bin
root@SmartRouter:/# chmod -R 755 /mnt/extdisk/music_bin

第二步:创建初始化的文件,这些文件都是mpd所需要使用的

root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpd.db
root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpd.log
root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpd.error
root@SmartRouter:/# #touch /mnt/extdisk/music_bin/mpd.pid
root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpdstate
root@SmartRouter:/# touch /mnt/extdisk/music_bin/mpd.sql

编写MPD的配置文件

编写配置文件,MPD目前没有基于UCI格式的配置文件,需要手工创建一个/etc/mpd.conf文件。

mpd.conf的配置文件涉及到的参数有很多,这里我们一一说明下:

MPD的基本运行参数:

参数 值 说明
music_directory 路径 音乐文件的存放文件夹位置
playlist_directory 路径 音乐播放列表的存放位置,播放列表可以是在设备上创建也可以是通过MPDroid客户端软件创建
db_file 文件路径 MPD的数据库文件路径
log_file 文件路径 MPD的日志文件路径
pid_file 文件路径 MPD的进程号文件路径
state_file 文件路径 MPD的状态文件路径
sticker_file 文件路径 MPD管理音乐动态信息的文件路径
user 帐号 MPD运行时的Linux身份帐号,默认openwrt下只有root
group 分组 MPD运行时的Linux身份帐号,默认openwrt下只有root
bind_to_address IP地址 MPD监听的IP地址,0.0.0.0表示全部设备的IP
port 端口 MPD的监听端口
log_level 字符串 日志信息输出的级别,可以填写default,secure,verbose其中verbose表示显示全部日志,信息很多
auto_update 字符串 当music_directory中的音乐文件有变化时候自动更新MPD的数据库。可以填写yes或no
auto_update_depth 数字 自动更新的时候对文件夹深度的检测,随便写一个值吧只要是数字就可以。
audio_buffer_size 数字 音频播放时的缓存大小,默认值为2048
buffer_before_play 百分比 音频播放之前的缓存比例。默认值为10%
connection_timeout 数字 客户端连接超时,单位秒,默认值为60
max_connections 数字 客户端最大连接数量,默认值为10
max_playlist_length 数字 播放列表文件允许的最大长度,这个不要弄的太大搞死系统了哦。
max_command_list_size 数字 最大list指令尺寸,默认值为2048
max_output_buffer_size 数字 最大输出缓存,默认值为8192
filesystem_charset 字符串 文件系统的编码,如果你的文件是通过windows网络共享上载的这里填写UTF-8即可。
id3v1_encoding 字符串 歌曲的ID3标签名称编码,默认为"ISO-8859-1"

MPD的输出设备output,该设备配置用来实现对声卡的支持,格式如下:

audio_output {
参数内容
}

其中的参数内容在我们的开发板上用的上的是对声卡配置部分:

参数 值 说明
type 字符串 输出类型,可选值为: oss,alsa,pulse,pipe,在我们的开发板上为oss
name 字符串 设备显示名称,在MPDroid客户端软件上可以显示出来。
device 设备路径 oss的设备路径,默认填/dev/sdp
format 字符串 播放格式,默认填写为44100:16:2即可,表示44Khz,16位,双声道
mixer_type 字符串 混音器类型,我们的开发板默认填写"hardware"
mixer_device 设备路径 混音器设备路径,我们的开发板默认填写"/dev/mixer"
mixer_control 字符串 混音器的控制,我们的开发板默认填写"PCM"

在这里,我们举例下配置。

使用VI编辑器创建/etc/mpd.conf配置文件内容如下:

music_directory "/mnt/extdisk/music"
playlist_directory "/mnt/extdisk/music_playlist"
db_file "/mnt/extdisk/music_bin/mpd.db"
log_file "/mnt/extdisk/music_bin/mpd.log"
pid_file "/var/run/mpd.pid"
state_file "/mnt/extdisk/music_bin/mpdstate"
sticker_file "/mnt/extdisk/music_bin/mpd.sql"
user "root"
group "root"
bind_to_address "0.0.0.0"
port "6600"
log_level "default"
auto_update "yes"
auto_update_depth "8"
audio_output {
type "oss"
name "mycard"
device "/dev/dsp"
format "44100:16:2"
mixer_type "hardware"
mixer_device "/dev/mixer"
mixer_control "PCM"
}

audio_buffer_size "2048"

buffer_before_play "10%"
connection_timeout "60"
max_connections "4"
max_playlist_length "1024"
max_command_list_size "2048"
max_output_buffer_size "4096"
filesystem_charset "UTF-8"
id3v1_encoding "ISO-8859-1"

启动进程准备音乐文件

第一步: 复制音乐

你可以把你喜欢的音乐以文件夹方式存放在/mnt/extdisk/music中,你可以选择使用windows文件共享方式复制音乐文件到系统上来。

第二步: 修正MPD服务的默认音量

因为MPD服务的默认音量参数写的有问题会导致音量被放大到100%吓你一跳,所以需要手工方式修正下。
用VI编辑器编辑/etc/init.d/mpd文件:
找到: [ -x /usr/bin/amixer ] && /usr/bin/amixer set PCM 40%
修改为: [ -x /usr/bin/amixer ] && /usr/bin/amixer set PCM 35%

第三步:设置启动服务,如果你需要经常听音乐,就要将服务设置为自动开启,或手工开启。

设置每次设备自动开启(如果不是总听,就不用自动拉):
root@SmartRouter:/# /etc/init.d/mpd enable

手工开启一下:

root@SmartRouter:/# /etc/init.d/mpd start

安装安卓MPDroid客户端

MPDroid是一个免费的安卓系统下客户端,该客户端可以实现大部分播放功能。

第一步: 安装

进入你的安卓市场,搜索MPDroid并且下载安装,如果你的市场中没有可以上网上搜索MPDroid下载到手机中安装。

第二步: 配置

首次配置首先要你的无线连接到板子上。打开MPDroid软件后会显示要求配置:
a. 选择WLAN based connection
b. 选择你当前连接上来的开发板
c. 在Host填写开发板的IP地址
d. 在Port填写MPD的监听端口
e. 退出配置返回主界面

第三步: 选择要播放的音乐

a. 选择主界面左下角的音乐符号,再在屏幕左上角选择Files显示可播放音乐。
b. 屏幕中会显示出可播放的音乐或文件夹,这些都是你上传到/mnt/extdisk/music下的音乐文件。
c. 在音乐文件或文件夹上长按后会显示选项:
add 增加到当前播放列表
add and replace 增加到当前播放列表并且替换掉列表中其他的
add, replace and play 增加到当前播放列表,并且替换掉其他的,并且立即播放
add and play 增加播放
add to playlist 增加到一个列表文件(列表文件,跟当前播放列表不是一个意思,列表文件表示存在路由器上的)
d. 选择好以后返回主界面,就有音乐文件了,点击就可以播放了。还可以调整音量。

章节结尾

MPDroid是一个安卓下可用的播放器软件,MPD的协议也可以完成很多工作,但是毕竟有不完善的地方,首先MPDroid不具备音乐同步通能,不能将音乐同步到服务器上,其次界面是英文的操作比较复杂,hoowa期望有识之士能做一个更完美的客户端项目。因此如果有愿意做这方面的朋友,请不要吝啬,加入我们吧。

推荐系统

  • 微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载

    微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载

    语言:中文版系统大小:5.13GB系统类型:Win11

    微软Win11原版22H2下载_Win11GHOST 免 激活密钥 22H2正式版64位免费下载系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Win11 64位 Office办公版(免费)优化  1、保留 Edge浏览器。  2、隐藏“操作中心”托盘图标。  3、保留常用组件(微软商店,计算器,图片查看器等)。  5、关闭天气资讯。 

  • Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载

    Win11 21H2 官方正式版下载_Win11 21H2最新系统免激活下载

    语言:中文版系统大小:4.75GB系统类型:Win11

    Ghost Win11 21H2是微软在系统方面技术积累雄厚深耕多年,Ghost Win11 21H2系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。Ghost Win11 21H2是微软最新发布的KB5019961补丁升级而来的最新版的21H2系统,以Windows 11 21H2 22000 1219 专业版为基础进行优化,保持原汁原味,系统流畅稳定,保留常用组件

  • windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    windows11中文版镜像 微软win11正式版简体中文GHOST ISO镜像64位系统下载,微软win11发布快大半年了,其中做了很多次补丁和修复一些BUG,比之前的版本有一些功能上的调整,目前已经升级到最新版本的镜像系统,并且优化了自动激活,永久使用。windows11中文版镜像国内镜像下载地址微软windows11正式版镜像 介绍:1、对函数算法进行了一定程度的简化和优化

  • 微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载

    语言:中文版系统大小:5.31GB系统类型:Win11

    微软windows11正式版GHOST ISO镜像 win11下载 国内最新版渠道下载,微软2022年正式推出了win11系统,很多人迫不及待的要体验,本站提供了最新版的微软Windows11正式版系统下载,微软windows11正式版镜像 是一款功能超级强大的装机系统,是微软方面全新推出的装机系统,这款系统可以通过pe直接的完成安装,对此系统感兴趣,想要使用的用户们就快来下载

  • 微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    微软windows11系统下载 微软原版 Ghost win11 X64 正式版ISO镜像文件

    语言:中文版系统大小:0MB系统类型:Win11

    微软Ghost win11 正式版镜像文件是一款由微软方面推出的优秀全新装机系统,这款系统的新功能非常多,用户们能够在这里体验到最富有人性化的设计等,且全新的柔软界面,看起来非常的舒服~微软Ghost win11 正式版镜像文件介绍:1、与各种硬件设备兼容。 更好地完成用户安装并有效地使用。2、稳定使用蓝屏,系统不再兼容,更能享受无缝的系统服务。3、为

  • 雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载

    语言:中文版系统大小:4.75GB系统类型:

    雨林木风Windows11专业版 Ghost Win11官方正式版 (22H2) 系统下载在系统方面技术积累雄厚深耕多年,打造了国内重装系统行业的雨林木风品牌,其系统口碑得到许多人认可,积累了广大的用户群体,雨林木风是一款稳定流畅的系统,一直以来都以用户为中心,是由雨林木风团队推出的Windows11国内镜像版,基于国内用户的习惯,做了系统性能的优化,采用了新的系统

  • 雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO

    语言:中文版系统大小:5.91GB系统类型:Win7

    雨林木风win7旗舰版系统下载 win7 32位旗舰版 GHOST 免激活镜像ISO在系统方面技术积累雄厚深耕多年,加固了系统安全策略,雨林木风win7旗舰版系统在家用办公上跑分表现都是非常优秀,完美的兼容各种硬件和软件,运行环境安全可靠稳定。win7 32位旗舰装机版 v2019 05能够帮助用户们进行系统的一键安装、快速装机等,系统中的内容全面,能够为广大用户

  • 番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载

    番茄花园Ghost Win7 x64 SP1稳定装机版2022年7月(64位) 高速下载

    语言:中文版系统大小:3.91GB系统类型:Win7

    欢迎使用 番茄花园 Ghost Win7 x64 SP1 2022.07 极速装机版 专业装机版具有更安全、更稳定、更人性化等特点。集成最常用的装机软件,集成最全面的硬件驱动,精心挑选的系统维护工具,加上独有人性化的设计。是电脑城、个人、公司快速装机之首选!拥有此系统