找回密码
 立即注册

微信扫码登录

搜索
查看: 7749|回复: 58

[插件集成] 12.15更新|新版HA可用网易云音乐,增加搜索,优化随机播放:集成ha_cloud_music个人

[复制链接]

6

主题

56

回帖

537

积分

高级会员

积分
537
金钱
475
HASS币
0
发表于 2025-12-9 17:32:44 | 显示全部楼层 |阅读模式
本帖最后由 neqq3 于 2025-12-15 02:19 编辑

2025.12.11更新 音质配置,尽量适配lyrics-card与播放链路优化
2025.12.12 - 更新自动化服务与 API 支持
2025.12.13 - 更新前端页面 https://bbs.hassbian.com/thread-30903-1-1.html
2025.12.14- 更新歌词卡片
2025.12.15 - 私人 FM 与默认播放器配置
前言
各位坛友大家好,
大家应该都在用社区大神的网易云音乐集成(ha_cloud_music)。我自己也是这个插件的重度用户,非常感谢原作者 shaonianzhentan 的开发。
最近升级到 Home Assistant 2025.12 版本后,发现原插件因为底层改动暂时无法添加实体了。因为我每天都要用它听歌,实在离不开,就自己动手 Fork 了一份代码进行修复。
关于这个版本
本人是 HA 开发方面的新人小白,第一次尝试对集成做这么大的改动。代码里可能有很多不成熟的地方。如果有什么做得不对的地方,还请各位大佬提醒,我会虚心接受批评。
在修复兼容性的过程中,顺手把自己平时使用中遇到的一些痛点(比如随机播放有时候会重复、搜索不太方便等)按自己的习惯改了一下。
想着可能也有朋友遇到同样的问题,就分享出来给需要临时过渡或者尝鲜的朋友试用。
如果原作者更新了,建议大家还是以原版为准。
特别致谢
本项目基于 shaonianzhentan 的原版代码(https://github.com/shaonianzhentan/ha_cloud_music)。
同时,切歌逻辑与计时逻辑的优化,参考借鉴了 IsCoding666 大佬的 Fork 版本(https://github.com/lsCoding666/ha_cloud_music)。
在此向两位前辈致以诚挚的谢意!
项目地址
GitHub 链接: https://github.com/neqq3/ha_ncloud_music
(支持通过 HACS > 集成 > 右上角自定义仓库 添加)

主要修改内容
主要是为了解决我自己的几个痛点:
1. 优化了“随机播放”逻辑
原版的随机播放是即时随机,有时候运气不好会听到重复的歌。我参考一般的音乐播放器的逻辑改了一下:
  • 预先打乱:现在开启随机后,后台会预先排好一个乱序的队列。
  • 直观变化:在媒体库 (Media Browser) 里可以看到“随机播放队列”,能看到下一首播什么。
  • 防重复:尽量避免了短时间内听到同一首歌。


1f4af5aa5cc81d888aeffe72f661f4c5.png 8c358f540116c18cf8c51b80e4d6456e.png

2. 调整了搜索体验
把搜索逻辑做得更原生了一点:
  • 支持在 Dashboard 里输入关键词 -> 点击搜索 -> 下拉直接选歌。
  • 搜索结果会同步挂载到媒体库里,方便看大图封面。


image.png image.png

3. 优化切歌与计时逻辑
参考了 IsCoding666 的代码方案,优化了切歌时的逻辑判断和播放器的时间同步机制,让播放体验更顺滑一些。也方便以后做歌词滚动或者逐字变色之类的功能。
4. 修复 HA 2025.12+ 兼容性
  • 主要是适配了新版 HA 的代码规范,解决了无法加载集成的问题。
  • 顺手加了几个 button 实体(每日推荐、我喜欢的音乐),方便接入自动化。目前喜欢的歌和每日推荐好像只能给第一个添加的媒体播放器使用。但是不影响整体使用,因为搜索之类的是全部媒体共用的。目前还在思考优化的实现逻辑。


217f7428d8957736e238bd710e4179e9.png

关于后续
目前这个版本在我自己机器上跑得还算稳定。我是
image.png
前面的版本不知道能不能通用,我没试过,理论上也许可行?
歌词功能 目前还在新建文件夹中... 后端解析得差不多了,我有空再慢慢研究。

安装与迁移方法
本项目还在测试当中,请务必备份!
为了防止配置冲突,强烈建议按以下步骤操作:
  • 备份:备份你的 HA 配置。
  • 移除旧版:在 HACS 和集成页面移除原版 ha_cloud_music。
  • 重启:重启 Home Assistant。
  • 安装新版:通过 HACS 自定义仓库添加我的 GitHub 地址进行安装。
  • 配置:重新添加集成并登录。

重要提示
文档滞后:GitHub 仓库里的 README 文档没改,显示的还是原作者的文档,请大家以帖子里的介绍为准。
如果有 Bug 欢迎反馈,但我能力有限,不一定能修得很快,大家轻喷。
再次感谢原作者shaonianzhentan和IsCoding666 大佬提供的优秀基础!

2025.12.11更新 音质配置,尽量适配lyrics-card与播放链路优化
1. 首选音质配置
新增“首选音质”配置项,支持对播放流媒体的编码格式与码率进行精细化控制。
  • 多级音质支持:支持从标准至母带级共 9 种规格的音质选项。
  • 权益自动协商:播放器将根据当前登录账号的权益配置,自动请求该权益范围内的最高可用音质。
  • 视觉分级提示:配置界面采用可视化符号(⚪/🔴/👑)标识不同码率等级的硬件解码需求与带宽负载情况
image.png
2. 播放可用性增强
从api项目调用unblock。
重构了底层音频流获取逻辑,引入了多级链路容错机制,显著降低了播放失败率。
  • 链路自动寻址:当主播放链路响应超时、连接重置或仅返回试听片段时,系统将自动尝试备用路由策略。
  • 异常自动降级:在遇到网络波动或源文件不可访问时,播放器可自动切换至高可用链路,确保播放不中断。

3. 歌词组件同步适配
尽量针对 lyrics-card 组件进行了协议层面的适配与优化。
  • 尽量修复了在手动拖拽进度条或跳转播放时,歌词时间戳与音频流不同步的问题(该有不同步还是有,只是现在切歌之类的情况下能尽量保持不同步的一致,不会一会快一点,一会慢一点)。
  • 优化了歌词传输协议,减少前端渲染抖动。
4. 状态响应性能提升
优化了 media_player 实体的状态机轮询逻辑。
  • 切歌时的元数据(封面、标题、艺术家)加载延迟大幅降低,提升了 UI 交互的流畅度。


改进与修复
  • 国际化支持:规范了 zh-Hans 与 en 语言文件,优化了配置界面的文案指引。
  • 代码重构:移除冗余的调试代码,优化了异步方法的调用开销。
升级说明
  • 建议升级后重启 Home Assistant 以加载新的配置选项。
  • 新的音质选项位于集成“选项”页面中,默认为“极高 (320k)”。

2025.12.12 - 自动化服务与 API 支持
v1.3.3
本版本新增了标准 Home Assistant 服务调用(Service Calls)支持,并开放了 HTTP 数据接口。
主要更新
1. 新增自动化服务 (Service Calls)
为了解决之前版本只能通过 UI 实体(输入框+按钮)进行控制的不便,本版本注册了以下标准服务,支持在 自动化 (Automation)、脚本 (Script) 和 语音助手 中直接调用:
  • ha_ncloud_music.search (搜索并播放)
    • 输入关键词和类型(单曲/歌单/电台/专辑/歌手),自动播放搜索结果的第一项。
    • 适用场景:语音控制“播放奥特曼的歌”。
  • ha_ncloud_music.play_by_id (ID 播放)
    • 通过云音乐 ID 精准播放。
  • ha_ncloud_music.play_daily / play_favorites
    • 直接播放“每日推荐”或“我喜欢的音乐”。

2. 开放 HTTP API (开发者选项)
新增 Layer 2 HTTP 接口,用于绕过 WebSocket 获取大数据量信息(供前端卡片开发使用,普通用户可忽略):
  • /cloud_music/api?action=lyric&id=xxx: 获取完整歌词数据(LRC/YRC)。
  • /cloud_music/api?action=song_detail&id=xxx: 获取歌曲详情元数据。
使用示例
YAML 自动化配置:
无需再编写复杂的 text.set_value 和 button.press 序列,现在仅需一步:
<blockquote>action: ha_ncloud_music.search

同时,也支持可视化配置自动化:

image.png
image.png

                               
登录/注册后可看大图


                               
登录/注册后可看大图
升级说明
  • 原有 UI 实体(Text/Button)依然保留,仅建议在 Dashboard 手动操作时使用。
  • 建议将现有的自动化脚本迁移至新的 Service Call 方式。
  • 升级后请重启 Home Assistant。

2025.12.13 - 更新前端页面
https://bbs.hassbian.com/thread-30903-1-1.html
屏幕截图 2025-12-13 111437.png

屏幕截图 2025-12-13 104104.png
## 主要功能

1.  **歌词同步与微调**:支持全屏显示,**重点是加了歌词偏移调整**。因为网络传输或者 DLNA 推送经常会有延迟,导致歌词对不上,界面上可以直接微调(±0.1s, ±1s 等),手动对齐。
2.  **直接控制 HA 播放器**:前端直接控制HA里的媒体播放器,切歌、暂停、进度调整、音量控制都很跟手。
3.  **设备切换**:可以直接在界面上选择设备。
4.  **侧边栏支持**:可以集成到 HA 的左侧菜单栏,点击即用。

2025.12.14- 更新歌词卡片
image.png image.png
依赖         此卡片需配合 ha_ncloud_music 集成使用。
安装
HACS(推荐)
  • 打开 HACS → 前端
  • 点击右上角 ⋮ → 自定义存储库
  • 添加 https://github.com/neqq3/ha_ncloud_music_card,类别选择「Dashboard」
  • 安装「云音乐歌词卡片」
  • 刷新浏览器
手动安装
  • 下载 ncloud-lyrics-card.js 到 HA 配置目录的 www/ 文件夹
  • 在仪表盘添加资源:
    • 设置 → 仪表盘 → ⋮ → 资源
    • 添加 /local/ncloud-lyrics-card.js,类型选择 JavaScript 模块

基础配置
type: custom:ncloud-lyrics-card
entity: media_player.cloud_music_xxx
完整配置
type: custom:ncloud-lyrics-card
entity: media_player.cloud_music_xxx
show_header: true         # 可选,显示歌曲信息头部(默认 true)
show_cover: true          # 可选,显示专辑封面(默认 true)
show_translation: true    # 可选,显示翻译歌词(默认 true)
lyric_offset: 0           # 可选,歌词偏移秒数(默认 0)
                          # 正数=歌词延后,负数=歌词提前
                          # 例如:lyric_offset: -2 表示歌词提前 2 秒


2025.12.15 - 私人 FM 与默认播放器配置

v1.5.0
本版本新增原生私人 FM 功能,支持七种推荐模式与无感续播;引入全局默认播放器配置,优化多设备环境下的控制逻辑。
核心功能
1. 私人 FM (Personal FM)
集成网易云音乐算法推荐能力,重构底层队列管理,实现无限流播放体验。
  • 七种模式支持:
  • 基础模式:AI DJ(只有歌曲)、默认推荐、熟悉的歌、探索新歌。
  • 场景模式:运动 (Exercise)、专注 (Focus)、夜晚情绪 (Night Emo)。

image.png
2. 默认播放器配置
针对多播放器环境,在集成选项(Options)中新增“快捷控制目标”配置。
  • Dashboard 上的全局快捷按钮(每日推荐、私人 FM、我喜欢的音乐)将直接控制指定的默认设备,不再生成冗余的实体列表。

image.png
3. 自动化支持
  • ha_ncloud_music.play_fm:支持自动化调用 FM 播放,可选具体模式(如 aidj, focus)。
  • ha_ncloud_music.fm_trash:FM 不喜欢(垃圾桶)服务,执行“标记不喜欢 + 自动切下一首”操作。

image.png
底层改进与修复
  • 状态同步:重构音量监听逻辑,解决双向同步不准确问题,增加静音功能;优化底层设备离线时的状态处理。
  • 性能优化:用户信息改为异步加载,避免阻塞事件循环;引入线程锁机制确保并发操作下的数据一致性;优化 API 缓存过期策略。

升级说明
  • 建议升级后进入集成选项设置默认播放器。
  • FM 模式下无法开启“随机播放”为设计预期的行为。






评分

参与人数 6金钱 +69 收起 理由
shaula + 5 这就是一直想要的啊,5分感谢
威风八面小怪兽 + 6 在下对你的景仰犹如滔滔长江之水,连绵不绝 ...
Mr.G + 20 墙都不扶,就服楼主!
aiqienanguatou + 10 论坛有你更精彩!
隔壁的王叔叔 + 12 必须给加分
hhh. + 16 论坛有你更精彩!

查看全部评分

回复

使用道具 举报

1

主题

74

回帖

291

积分

中级会员

积分
291
金钱
216
HASS币
0
发表于 2025-12-9 22:12:15 | 显示全部楼层

回帖奖励 +1 金钱

厉害了,骚年
回复

使用道具 举报

6

主题

56

回帖

537

积分

高级会员

积分
537
金钱
475
HASS币
0
 楼主| 发表于 2025-12-10 02:02:54 | 显示全部楼层
歌词已经有雏形了,现在正在考虑要不要做的炫酷一点,以及做了之后性能开销如何。暂定再单独做一个前端,这样资源消耗更小。想要简单功能可以安装集成就可以,高级功能再安装一个就行。
7acc0d08-112f-4806-ae12-ddae32835053.png
回复

使用道具 举报

16

主题

577

回帖

3307

积分

论坛元老

积分
3307
金钱
2714
HASS币
0
发表于 2025-12-10 08:58:12 | 显示全部楼层

回帖奖励 +1 金钱

大佬牛批
回复

使用道具 举报

2

主题

531

回帖

3473

积分

论坛元老

积分
3473
金钱
2940
HASS币
0
QQ
发表于 2025-12-10 09:24:39 | 显示全部楼层

回帖奖励 +1 金钱

厉害了,老der
回复

使用道具 举报

79

主题

665

回帖

3397

积分

论坛元老

积分
3397
金钱
2648
HASS币
0
发表于 2025-12-10 09:25:32 | 显示全部楼层

回帖奖励 +1 金钱

可以调用音乐搜索功能吗,这个音质怎么样。
回复

使用道具 举报

18

主题

354

回帖

1839

积分

金牌会员

积分
1839
金钱
1457
HASS币
40
发表于 2025-12-10 09:40:21 | 显示全部楼层

回帖奖励 +1 金钱

二维码扫码登录报错

"检测到当前设备环境异常本次操作已拦截
您可以尝试以下办法解除异常
方法
1:切换网络或更换设备尝试方法
2:删除如越狱/外挂等异常插件,重启尝试方法
3:更新网易云音乐app至最新版方法
4:不要频繁操作,24H后尝试"
回复

使用道具 举报

16

主题

577

回帖

3307

积分

论坛元老

积分
3307
金钱
2714
HASS币
0
发表于 2025-12-10 10:52:16 | 显示全部楼层
搭好了,怎用,前端呢
回复

使用道具 举报

6

主题

56

回帖

537

积分

高级会员

积分
537
金钱
475
HASS币
0
 楼主| 发表于 2025-12-10 12:02:32 | 显示全部楼层
lovelyelfpop 发表于 2025-12-10 09:40
二维码扫码登录报错

"检测到当前设备环境异常本次操作已拦截

https://github.com/neteasecloudmusicapienhanced/api-enhanced
换这个项目。之前的已经没人维护了
回复

使用道具 举报

6

主题

56

回帖

537

积分

高级会员

积分
537
金钱
475
HASS币
0
 楼主| 发表于 2025-12-10 12:05:12 | 显示全部楼层
jjss520 发表于 2025-12-10 10:52
搭好了,怎用,前端呢

能具体一点吗?不知道是哪一步?你可以看看论坛里关于原作者的集成的教程
https://bbs.hassbian.com/thread-20812-1-1.html
添加集成之类的都基本一样。
api项目换这个https://github.com/neteasecloudmusicapienhanced/api-enhanced
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2026-2-5 15:24 , Processed in 0.065197 second(s), 8 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表