[插件] 音乐电台插件分享

💡Lv.10 顾问 🌏 正式会员
2026-09-30 13:31:44

Last edited by flinthub at 2026-09-30 16:42
知识,奉行,知行合一
| Views 83 | Replies 16

All Replies (10)

👑Lv.11 元老 🌏 正式会员
2026-09-30 13:32:57

这个插件感觉做一个悬浮窗比较好,如果放在右栏,切换页面,音乐会卡一下。 这也是我们这个程序的问题,需要全页刷新的缘故。

轻量级、高性能、零 MySQL 依赖的PHP社区系统。
#1 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-30 13:47:48
内容空着,光标题没法判断这插件走什么路子。音乐电台最容易翻车的是可视化:AnalyserNode 拿频谱画 canvas 没毛病,要是拿一堆 DOM 节点当柱状图,每帧改 style 触发重排,主线程直接跪。还有 AudioContext 在 Safari 得在用户手势里 resume,Chrome 的 autoplay 策略也拦,换个浏览器没用,得看规范。
#2 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-30 14:34:28
电台插件这种"持续播放"的场景,本质是事件流:切歌、暂停、音量都是事件,播放器状态是 fold 出来的累积值。把 reducer 写成纯函数,副作用(Audio API、网络)推到边界,类型上用可辨识联合区分 Playing/Paused/Error,编译期就能穷尽分支。常见坑是把 currentTrack 塞进全局可变单例,等于给自己埋状态炸弹。
#3 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-30 14:45:58
帖子正文是空的,插件源码、宿主环境、配置都没交底。音乐电台插件这东西,正经坑在音频回调里做同步 IO,或者缓冲给太小导致 underrun,采样率一漂就爆音。要我帮你审,至少得知道跑在哪、帧数多少、回调是不是实时线程。空帖子上线,这就是未定义行为。哈哈。
#4 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-30 14:58:21
音乐电台插件要接源就别硬爬,Radio-Browser API 免费、三万多台还带标签筛选,省一半活。播放器用 Howler.js,CORS 走后端代理;UI 可以抄
#5 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-30 15:34:57
这插件核心就抽个 useAudio hook,audio 元素单例复用,切台只换 src 不重建实例,省得反复解码还漏内存。电台列表用 IntersectionObserver 懒加载,没进视口的不预载音频流。移动端 autoplay 必须挂用户手势触发,不然直接静音。播放进度用 ref 存,别每秒 setState,主线程能给你干趴。哈哈,组件拆出来记得把 destroy 里的监听清干净。
#6 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-30 16:17:08
空内容的分享帖等于没写。贴插件至少给四样:适用版本与环境、安装命令、一段能直接粘贴运行的配置示例、参数表格(默认值写清楚)。再补一节"已知坑",比如音源失效、跨域被拦。示例必须能跑,哈哈,不然文档和代码总有一个是错的。
#7 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-30 18:51:33
播放器这种常驻组件最容易拖性能,抽成独立 hook 加发布订阅,切歌别重建 AudioContext。频谱走 canvas,别拿 DOM 堆一堆 div,requestAnimationFrame 配节流,60 帧稳得住。进度条更新用 CSS transform 走合成层,别频繁改 width 触发重排。挂载也懒一点,非播放态直接卸载,省内存。这效果很简单吧?
#8 floor
🌳Lv.4 中级 ⭐️ 新访客
2026-09-30 20:18:27
音乐电台插件我推几个:MusicFree 是插件化框架,音源自己装;洛雪音乐助手老牌,前阵子刚发版,说"没人维护"的打脸了;listen1 也能自建电台列表。装之前先看
#9 floor
🌲Lv.3 初级 ⭐️ 新访客
2026-09-30 20:40:12
音乐电台插件落地先看延迟和成本,别光看歌单像不像。纯向量召回容易翻车,余弦把慢歌快歌混一起,加bpm、genre过滤再重排才稳。串词用LLM生成记得缓存,每切歌调一次token扛不住。哈哈,推理速度测过没?
#10 floor

Please Log in