OpenWRT中使用mpd作为音频Server及其使用

说明

MPD可以播放音乐与streaming Radio,可以用于娱乐用。其官网的说法为:

即MPD是CS架构的Daemon端。

接下来我们将在iMX6UL上面使用MPD, 并在手机与Ubuntu等上面使用其Client来控制与播放音乐。

ALSA验证声卡发声

要完成音乐的播放,首先iMX6UL需要可以播放声音。 iMX6UL使用的Codec是WM8960, 这个和TQE9使用的是一样的。

在播放之前,我们先查看声卡是哪个:

首先需要确定ALSA识别了哪些声卡,然后再确定声卡的设备Index, 例如这里面WM8960不是Card0,所以如果直接默认使用aplay来播放,那么就会出错。

当然启动的时候也有:

确定设备Index后,我们需要一个WAV文件来播放。

直接使用MP3来convert一个:


然后我们使用wavinfo查看一下wav文件的属性:

然后将其放到设备中去,同时也放入MP3文件,作为后面验证用。

alsamixer配置声音

如果直接播放我们会发现没有声音,这个是因为没有将volume开启, 然后使用下面命令完成:

 

播放测试

然后可以听到声音即可。

配置mpd

mpd需要一个配置文件,记录文件都放在where,需要配置声卡output。

因此我们直接更改即可:

vim /etc/mpd.conf

找到存放音乐的目录

 

然后找到audio_output section:

然后保存, 并将MP3放入到设置的目录中。

运行

查看帮助

尝试运行

我们发现起直接退出了, 而且返回了一个错误值:

调查发现是mpd.conf里面我们的user改错了。

看看其进程是否存在

如果开启了debug或者verbose模式,那么可以看到:

这里面说明了使用的端口(CS架构),然后使用的charset等信息。

确定端口开启

这样我们就可以使用client来查看确定了。

mpd client的使用

板子本身的 Linux command line client

有mpc命令可以用, 我们可以查看都有那些歌曲(mpc listall):

然后就是要将歌曲添加到playlist中, 这个网上绝大部分查到的都是使用下面这个命令:

但是如果你真的拿来用,会发现mpd根本就不再具备这个功能了。因此很多人就会卡死在这里了。

正确的做法直接使用directory功能。

我们这里使用mpc add是可以用的。

Ubuntu上面的Client

对于Ubuntu可以到Software中下载Client:


然后安装一个,这里安装的是QMPDClient, 打开,然后设置:


添加完成后, 连接


然后就可以看到Directory的文件, 然后双击即可添加到PlayList中了:


接下来就可以播放了。

Android端Client

Android手机端,使用MPDroid, 可以到github的release页面下载

安装后设置端口与IP地址,然后就可以用了:


参考

MPD Arch Wiki

Leave a Reply

Your email address will not be published. Required fields are marked *