我有一个便宜的小音箱,它插在香橙派的耳机孔里
我还有一个别人送给我测试的支持DLNA服务的音箱
我想让这两个音箱都能播放我喜欢听的音乐
其实播放音乐非常的简单,只需要在香橙派里安装MPD服务,然后配置耳机孔输出即可
DLNA服务默认就支持投屏播放,可以将音乐链接投放到DLNA设备中直接播放
音乐的来源
现在的问题是音乐资源哪里来?
刚好在GitHub上,有一个完全免费、功能非常完善的接口服务,那就是网易云音乐的接口服务
OK,音乐资源的问题解决了,剩下的就是客户端的问题了
我需要写一个HomeAssistant的插件,将音乐资源投放到DLNA和MPD服务中进行播放
播放器插件开发
考虑到这两个完全是不同的东西,合在一起逻辑太复杂,所以肯定要拆分开
这样就会有两个插件,一个支持DLNA播放,另一个支持MPD服务
考虑到我还开发了一个家庭助理Windows应用,那个应用肯定也是要支持音乐播放的
所以,我应该写一套公用的资源库,这样每一个插件都可以复用
HomeAssistant里的播放器实体中有一个媒体界面,里面可以显示音乐相关信息,刚好可以公用
这样到最后,安装的插件虽然不一样,但显示的内容却可以保持一致
插件的差异
DLNA
安装好新版云音乐插件之后,需要手动配置一下media_player自定义属性,这个属性是加载关联指定的DLNA播放器
因为我也不知道系统中哪些是DLNA播放器,无法自动读取,所以需要自己手动的进行配置
配置完成加载成功后,会在界面中显示
这样我们在控制云音乐时,会自动联动控制DLNA播放器
MPD
考虑到有很多新手,可能并不了解MPD服务,所以这个功能拆成了单独的插件(如果不懂,可以不装)
旧版是合并在一起的,DLNA和MPD不能同时播放音乐,拆开后可以分别播放自己的音乐,互不干扰
MPD是一个音乐服务,安装完成之后,简单配置服务地址后,就可以直接使用,可以说是非常的简单方便
最重要的一点就是非常的稳定,完美的支持了连续播放、随机播放、单曲播放等很多功能
还支持预加载音乐,这个功能可以有效的解决音乐资源加载慢的问题
这些功能都是DLNA播放器不具备的
Windows应用
如果你既没有DLNA播放器,也没有MPD服务,还想体验一下这个插件的功能,也可以安装windows应用的插件
安装插件和运行应用后 可以通过Windows电脑播放HomeAssistant里的音乐
语音控制
其实我对界面操作的需求非常少,关于音乐的控制播放和搜索,我更喜欢语音控制
我想听
林俊杰的歌、播放歌单抖音神曲、我想听清晨起床的歌单、播放每日推荐
一句话就能解决听音乐的问题,完全没有必要去界面上点点点
为此我参考官方媒体库的协议,自定义了云音乐的协议,调用媒体播放的相关服务就可以轻松的控制音乐相关的操作
比如,我最喜欢的每日推荐,真是越听越懂我,这大数据推荐搞的我都听不到新歌了