🔊 play2mi

把任意 http(s):// 音频流投放到音箱上播放,并支持 TTS、音量、 暂停 / 停止。无需下载,免第三方服务器:一个小书签(bookmarklet),浏览器直连官方API。

安装(两步)

1
显示书签栏:按 Ctrl/Cmd + Shift + B(Chrome / Edge / Firefox 均可)
2
把下面这颗按钮拖到书签栏

🔊 play2mi

它是一个 javascript: 开头的地址,作用是把播控代码注入官方API

(正在生成…)

移动端浏览器,复制上面代码,手动添加到书签

3
点击它:根据提示使用。首次会让你扫码登录小米账号,需要在登录页面再次点击该书签

说明

为什么要点两次、三次?

浏览器的跨域(CORS)规则禁止一般网站无法调用小米云接口。这个书签的思路是: 让界面运行在小米自己的域名上,这样调用就是“同源”,没有任何障碍。代价是每个不同的页面必须分别点一次激活

  1. 点书签 → 检查当前页面地址 → 弹确认框 → 打开 api2.mina.mi.com(官方云API);
  2. 在那个窗口再点一次书签 → 注入控制面板(页面变化后书签失效,所以必须点两次)。
  3. 但是如果你没登录过,还需要根据引导在 account.mi.com 额外点一次书签

如果你已登录,手动打开 api2.mina.mi.com 网址,就只用点一次书签 😃

登录流程

没登录时面板会引导你:点「去扫码登录」

代码会自动在新标签页打开 account.xiaomi.com → 在那个页面里再点一次书签 → 用 App 或者 账号 扫描二维码→ 登录完成把凭证写进小米域 Cookie → 页面自动刷新 跳转。

凭证由浏览器自己保存,有效期内不用重复登录。

功能速览
功能说明
设备选择列出主账号下的小爱音箱,可刷新、记住上次选择
播放 URL输入 http(s):// 音频地址直接投放 (mp3 / flac / aac 等由音箱固件支持,常用于自建电台 / 局域网 NAS)
TTS 播报直接下发播报(云端异步代发,不打断在播内容),适合“提醒”类用法
媒体控制音量 0–100、停止、暂停 / 继续(部分型号不支持暂停,运行时探测)、 状态回读;面板打开会显示音箱正在播什么,绝不自动打断
隐私与安全
  • 无第三方服务器:本页只做说明书;登录与控制全部在你的浏览器与云之间直连完成。
  • 凭证存在哪? 浏览器自己的 Cookie(serviceToken 由登录链路写入 .mina.mi.com,passToken 是 HttpOnly,脚本也读不到)。 没有第三方备份与传输。
  • 退出登录:在 App 或者 账号 → 设备,点 删除;或者在 account.xiaomi.com 已登录设备 退出即可。
常见问题
  • 页显示 403 Forbidden? 正常。api2.mina.mi.com 没有网页首页, 书签借它的“域名”做同源执行环境,服务器返回的 403 页能落脚,书签就照常运行。
  • 点书签没反应? 确认拖到书签栏而不是收藏夹二级目录;地址栏直接粘贴 javascript: 会被浏览器裁掉,必须通过书签点击。
  • 怎么无法播放? 注意是直链,不是随便粘一个网页。一般来说是你媒体网址有问题,挑网络,挑设备 🤣
  • 能播放 XXX 格式的音乐吗? 不知道 🤣,看你音箱型号和固件
  • 关闭面板 / 标签页会停歌吗? 不会,面板只发播放指令。

Author blog.est.im | Source https://github.com/est/play2mi