import{_ as t,c as s,a0 as a,o as i}from"./chunks/framework.p2VkXzrt.js";const h=JSON.parse('{"title":"已支持配置自定义网络歌单，在这里分享你的歌单","description":"","frontmatter":{"title":"已支持配置自定义网络歌单，在这里分享你的歌单"},"headers":[],"relativePath":"issues/78.md","filePath":"issues/78.md","lastUpdated":null}'),r={name:"issues/78.md"};function p(n,e,o,l,u,d){return i(),s("div",null,e[0]||(e[0]=[a(`<h1 id="已支持配置自定义网络歌单-在这里分享你的歌单" tabindex="-1">已支持配置自定义网络歌单，在这里分享你的歌单 <a class="header-anchor" href="#已支持配置自定义网络歌单-在这里分享你的歌单" aria-label="Permalink to &quot;已支持配置自定义网络歌单，在这里分享你的歌单&quot;" target="_self">​</a></h1><p>设置页面新增一个输入框配置json格式，可以定义配置音乐源，可以是电台或者其他的m3u8格式的。 再加一个输入框配置这个json文件的url，点击获取按钮把url对应的json内容填充到json输入框，方便直接使用别人分享的歌单。</p><p>比如这样的链接</p><ul><li><a href="https://lhttp.qtfm.cn/live/4915/64k.mp3" target="_self">https://lhttp.qtfm.cn/live/4915/64k.mp3</a></li><li><a href="http://ngcdn001.cnr.cn/live/zgzs/index.m3u8" target="_self">http://ngcdn001.cnr.cn/live/zgzs/index.m3u8</a></li></ul><p>已经测试能播放出来:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>python3 micli.py play http://ngcdn001.cnr.cn/live/zgzs/index.m3u8</span></span></code></pre></div><p>预计歌单格式是这样的, type 为 radio 作为电台的设定，会一直播放当前电台，不会播放下一首。</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">[</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;name&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;歌单1&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;musics&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:[</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;name&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;歌名1&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;url&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;http://ngcdn001.cnr.cn/live/zgzs/index.m3u8&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;type&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;radio&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;name&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;歌名2&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;url&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://lhttp.qtfm.cn/live/4915/64k.mp3&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;name&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;歌单2&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">    &quot;musics&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:[</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;name&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;歌名3&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;url&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://lhttp.qtfm.cn/live/4915/64k.mp3&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;name&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;歌名4&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">        &quot;url&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://lhttp.qtfm.cn/live/4915/64k.mp3&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">      }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">    ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">]</span></span></code></pre></div><p>这里分享一个让 chatgpt 写 python 脚本来生成歌单的例子 <a href="https://chatgpt.com/share/6751c019-74c0-800a-a978-a20c636d4464" target="_self">https://chatgpt.com/share/6751c019-74c0-800a-a978-a20c636d4464</a> 。</p><h2 id="评论" tabindex="-1">评论 <a class="header-anchor" href="#评论" aria-label="Permalink to &quot;评论&quot;" target="_self">​</a></h2><h3 id="评论-1-hanxi" tabindex="-1">评论 1 - hanxi <a class="header-anchor" href="#评论-1-hanxi" aria-label="Permalink to &quot;评论 1 - hanxi&quot;" target="_self">​</a></h3><p>可以使用 gist 来配置和分享 json 文件，比如 <a href="https://gist.github.com/hanxi/dda82d964a28f8110f8fba81c3ff8314" target="_self">https://gist.github.com/hanxi/dda82d964a28f8110f8fba81c3ff8314</a></p><p>点击 raw 得到 json 文件的链接 <a href="https://gist.githubusercontent.com/hanxi/dda82d964a28f8110f8fba81c3ff8314/raw/8787844d81c39dbfaad4e37954dd449d8bba5728/example.json" target="_self">https://gist.githubusercontent.com/hanxi/dda82d964a28f8110f8fba81c3ff8314/raw/8787844d81c39dbfaad4e37954dd449d8bba5728/example.json</a></p><p>当然还可以用其他工具分享json文件，比如 github 和国内的 gitee 。</p><hr><h3 id="评论-2-hanxi" tabindex="-1">评论 2 - hanxi <a class="header-anchor" href="#评论-2-hanxi" aria-label="Permalink to &quot;评论 2 - hanxi&quot;" target="_self">​</a></h3><p>已经有工具支持将 m3u 格式的电台文件转为网络歌单格式，见 /issues/88.html</p><p>欢迎有兴趣的朋友制作其他格式转换工具，比如网易歌单那一类的。</p><hr><h3 id="评论-3-lazybabyz" tabindex="-1">评论 3 - lazybabyz <a class="header-anchor" href="#评论-3-lazybabyz" aria-label="Permalink to &quot;评论 3 - lazybabyz&quot;" target="_self">​</a></h3><p>按照教程设置后 播放列表选择m3u电台 再选择播放列表 歌曲，结果显示播放中 不断在转台 stdout: [08:58:02] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;GET /playingmusic?did=566731712 HTTP/1.1&quot; 200 stdout: [08:58:04] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;GET /playingmusic?did=566731712 HTTP/1.1&quot; 200 stdout: [08:58:04] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;GET /static/default/index.html HTTP/1.1&quot; 304 stdout: [08:58:04] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;GET /getsetting HTTP/1.1&quot; 200 stdout: [08:58:04] [0.3.37] [INFO] 10.0.80.191:24022 - &quot;GET /getversion HTTP/1.1&quot; 200 stdout: [08:58:04] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;GET /musiclist HTTP/1.1&quot; 200 stdout: [08:58:04] [0.3.37] [INFO] 10.0.80.191:24021 - &quot;GET /playingmusic?did=566731712 HTTP/1.1&quot; 200 stdout: [08:58:04] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;GET /static/default/curplaylist?did=566731712 HTTP/1.1&quot; 404 stdout: [08:58:05] [0.3.37] [INFO] 10.0.80.191:24022 - &quot;GET /getvolume?did=566731712 HTTP/1.1&quot; 500 stderr: [08:58:05] [0.3.37] [ERROR] Exception in ASGI application stderr: Traceback (most recent call last): stderr: File &quot;/app/.venv/lib/python3.10/site-packages/uvicorn/protocols/http/h11_impl.py&quot;, line 406, in run_asgi stderr: result = await app( # type: ignore[func-returns-value] stderr: File &quot;/app/.venv/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py&quot;, line 70, in <strong>call</strong> stderr: return await self.app(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/fastapi/applications.py&quot;, line 1054, in <strong>call</strong> stderr: await super().<strong>call</strong>(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/applications.py&quot;, line 113, in <strong>call</strong> stderr: await self.middleware_stack(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/middleware/errors.py&quot;, line 187, in <strong>call</strong> stderr: raise exc stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/middleware/errors.py&quot;, line 165, in <strong>call</strong> stderr: await self.app(scope, receive, _send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/middleware/cors.py&quot;, line 85, in <strong>call</strong> stderr: await self.app(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py&quot;, line 62, in <strong>call</strong> stderr: await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py&quot;, line 62, in wrapped_app stderr: raise exc stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py&quot;, line 51, in wrapped_app stderr: await app(scope, receive, sender) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 715, in <strong>call</strong> stderr: await self.middleware_stack(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 735, in app stderr: await route.handle(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 288, in handle stderr: await self.app(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 76, in app stderr: await wrap_app_handling_exceptions(app, request)(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py&quot;, line 62, in wrapped_app stderr: raise exc stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py&quot;, line 51, in wrapped_app stderr: await app(scope, receive, sender) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 73, in app stderr: response = await f(request) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/fastapi/routing.py&quot;, line 301, in app stderr: raw_response = await run_endpoint_function( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/fastapi/routing.py&quot;, line 212, in run_endpoint_function stderr: return await dependant.call(**values) stderr: File &quot;/app/xiaomusic/httpserver.py&quot;, line 124, in getvolume stderr: volume = await xiaomusic.get_volume(did=did) stderr: File &quot;/app/xiaomusic/xiaomusic.py&quot;, line 809, in get_volume stderr: return await self.devices[did].get_volume() stderr: File &quot;/app/xiaomusic/xiaomusic.py&quot;, line 1400, in get_volume stderr: playing_info = await self.xiaomusic.mina_service.player_get_status( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 103, in player_get_status stderr: return await self.ubus_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 59, in ubus_request stderr: result = await self.mina_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 49, in mina_request stderr: return await self.account.mi_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py&quot;, line 150, in mi_request stderr: raise Exception(f&quot;Error {url}: {resp}&quot;) stderr: Exception: Error <a href="https://api2.mina.mi.com/remote/ubus:" target="_self">https://api2.mina.mi.com/remote/ubus:</a> {&#39;code&#39;: 101, &#39;message&#39;: &#39;ubus server or device returned invalid result&#39;, &#39;data&#39;: {&#39;device_data&#39;: &#39;{&quot;msg&quot;:&quot;Device is offline&quot;,&quot;code&quot;:608}&#39;, &#39;reqID&#39;: &#39;app_ios_YfG6nlPVAtwDHEgMeJXxcOiZQLrR57&#39;}} stderr: [08:58:05] [0.3.37] [ERROR] h11_impl.py:411: Exception in ASGI application stderr: Traceback (most recent call last): stderr: File &quot;/app/.venv/lib/python3.10/site-packages/uvicorn/protocols/http/h11_impl.py&quot;, line 406, in run_asgi stderr: result = await app( # type: ignore[func-returns-value] stderr: File &quot;/app/.venv/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py&quot;, line 70, in <strong>call</strong> stderr: return await self.app(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/fastapi/applications.py&quot;, line 1054, in <strong>call</strong> stderr: await super().<strong>call</strong>(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/applications.py&quot;, line 113, in <strong>call</strong> stderr: await self.middleware_stack(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/middleware/errors.py&quot;, line 187, in <strong>call</strong> stderr: raise exc stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/middleware/errors.py&quot;, line 165, in <strong>call</strong> stderr: await self.app(scope, receive, _send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/middleware/cors.py&quot;, line 85, in <strong>call</strong> stderr: await self.app(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py&quot;, line 62, in <strong>call</strong> stderr: await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py&quot;, line 62, in wrapped_app stderr: raise exc stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py&quot;, line 51, in wrapped_app stderr: await app(scope, receive, sender) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 715, in <strong>call</strong> stderr: await self.middleware_stack(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 735, in app stderr: await route.handle(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 288, in handle stderr: await self.app(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 76, in app stderr: await wrap_app_handling_exceptions(app, request)(scope, receive, send) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py&quot;, line 62, in wrapped_app stderr: raise exc stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/_exception_handler.py&quot;, line 51, in wrapped_app stderr: await app(scope, receive, sender) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/starlette/routing.py&quot;, line 73, in app stderr: response = await f(request) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/fastapi/routing.py&quot;, line 301, in app stderr: raw_response = await run_endpoint_function( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/fastapi/routing.py&quot;, line 212, in run_endpoint_function stderr: return await dependant.call(**values) stderr: File &quot;/app/xiaomusic/httpserver.py&quot;, line 124, in getvolume stderr: volume = await xiaomusic.get_volume(did=did) stderr: File &quot;/app/xiaomusic/xiaomusic.py&quot;, line 809, in get_volume stderr: return await self.devices[did].get_volume() stderr: File &quot;/app/xiaomusic/xiaomusic.py&quot;, line 1400, in get_volume stderr: playing_info = await self.xiaomusic.mina_service.player_get_status( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 103, in player_get_status stderr: return await self.ubus_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 59, in ubus_request stderr: result = await self.mina_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 49, in mina_request stderr: return await self.account.mi_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py&quot;, line 150, in mi_request stderr: raise Exception(f&quot;Error {url}: {resp}&quot;) stderr: Exception: Error <a href="https://api2.mina.mi.com/remote/ubus:" target="_self">https://api2.mina.mi.com/remote/ubus:</a> {&#39;code&#39;: 101, &#39;message&#39;: &#39;ubus server or device returned invalid result&#39;, &#39;data&#39;: {&#39;device_data&#39;: &#39;{&quot;msg&quot;:&quot;Device is offline&quot;,&quot;code&quot;:608}&#39;, &#39;reqID&#39;: &#39;app_ios_YfG6nlPVAtwDHEgMeJXxcOiZQLrR57&#39;}} stdout: [08:58:05] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;GET /playingmusic?did=566731712 HTTP/1.1&quot; 200 stdout: [08:58:05] [0.3.37] [INFO] 10.0.80.191:24021 - &quot;GET /playingmusic?did=566731712 HTTP/1.1&quot; 200 stdout: [08:58:07] [0.3.37] [INFO] 10.0.80.191:24021 - &quot;GET /playingmusic?did=566731712 HTTP/1.1&quot; 200 stdout: [08:58:08] [0.3.37] [INFO] 10.0.80.191:24021 - &quot;GET /playingmusic?did=566731712 HTTP/1.1&quot; 200 stdout: [08:58:08] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;GET /playingmusic?did=566731712 HTTP/1.1&quot; 200 stderr: [08:58:09] [0.3.37] [INFO] httpserver.py:177: docmd. did:566731712 cmd:播放列表m3u电台|80后音悦台 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:582: cancel_all_tasks no task stdout: [08:58:09] [0.3.37] [INFO] 10.0.80.191:24020 - &quot;POST /cmd HTTP/1.1&quot; 200 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:560: 收到消息:播放列表m3u电台|80后音悦台 控制面板:True did:566731712 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:648: 匹配到指令. opkey:播放列表 opvalue:play_music_list oparg:m3u电台|80后音悦台 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:716: 根据【m3u电台】找到播放列表【m3u电台】 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:991: 没打乱 m3u电台 [&#39;80后音悦台&#39;, &#39;BBC Radio 1&#39;, &#39;BBC Radio 2&#39;, &#39;BBC Radio 3&#39;, &#39;BBC Radio 4&#39;, &#39;CNA938&#39;, &#39;FM 988&#39;, &#39; AFO Radio&#39;, &#39;BBC News&#39;, &#39;BBC Radio 1 Dance&#39;, &#39;BBC Radio 1 Relax&#39;, &#39;BBC Radio 1Xtra&#39;, &#39;BBC Radio 4 Extra&#39;, &#39;BBC Radio 5 Live&#39;, &#39;BBC Radio 6 Music&#39;, &#39;BCC中广新闻&#39;, &#39;BCC中广流行&#39;, &#39;BCC中广音乐&#39;, &#39;CNA亚洲新闻&#39;, &#39;CNR中国之声&#39;, &#39;CNR乡村之声&#39;, &#39;CNR交通广播&#39;, &#39;CNR台海之声&#39;, &#39;CNR文艺之声&#39;, &#39;CNR湾区之声&#39;, &#39;CNR神州之声&#39;, &#39;CNR经典音乐&#39;, &#39;CNR经济之声&#39;, &#39;CNR老年之声&#39;, &#39;CNR阅读之声&#39;, &#39;CNR音乐之声&#39;, &#39;CRI世界华声&#39;, &#39;CRI华语环球&#39;, &#39;CRI南海之声&#39;, &#39;CRI环球资讯&#39;, &#39;CRI英语资讯&#39;, &#39;CRI轻松调频&#39;, &#39;Capital FM&#39;, &#39;CityFM台之音&#39;, &#39;Cool Radio&#39;, &#39;Gold FM&#39;, &#39;Hit FM劲曲&#39;, &#39;Kiss FM&#39;, &#39;LBC News&#39;, &#39;LBC UK&#39;, &#39;Love FM&#39;, &#39;Love Radio&#39;, &#39;Money FM&#39;, &#39;NPR News&#39;, &#39;News Radio UK&#39;, &#39;One FM&#39;, &#39;Power FM&#39;, &#39;RFA&#39;, &#39;RFI&#39;, &#39;RTI中央广播&#39;, &#39;Times Radio&#39;, &#39;VOA环球英语&#39;, &#39;Yes FM&#39;, &#39;上海故事广播&#39;, &#39;上海流行音乐&#39;, &#39;上海音乐广播&#39;, &#39;上海音乐电台&#39;, &#39;中文流行&#39;, &#39;全国广播&#39;, &#39;北京交通广播&#39;, &#39;北京体育广播&#39;, &#39;北京城市广播&#39;, &#39;北京文艺广播&#39;, &#39;北京新闻广播&#39;, &#39;北京经典调频&#39;, &#39;北京音乐广播&#39;, &#39;南京音乐广播&#39;, &#39;台中广播电台&#39;, &#39;四川文艺广播&#39;, &#39;国乐悠扬&#39;, &#39;天籁之音 Hi-Fi&#39;, &#39;天籁古典&#39;, &#39;天籁国风&#39;, &#39;安全百科&#39;, &#39;山西文艺广播&#39;, &#39;广东音乐之声&#39;, &#39;广州汽车音乐&#39;, &#39;摇滚天空&#39;, &#39;有声文摘&#39;, &#39;民谣蓝调&#39;, &#39;民谣音乐台&#39;, &#39;江苏故事广播&#39;, &#39;江苏文艺广播&#39;, &#39;江苏音乐广播&#39;, &#39;河北文艺广播&#39;, &#39;河北汽车音乐&#39;, &#39;深圳音乐广播&#39;, &#39;湖南文艺广播&#39;, &#39;湖南旅游广播&#39;, &#39;湖南音乐之声&#39;, &#39;潮流音悦台&#39;, &#39;经典FM&#39;, &#39;美国之音&#39;, &#39;陕西故事广播&#39;, &#39;陕西音乐广播&#39;] stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:1422: 开始播放列表m3u电台 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:1005: play. search_key: name:80后音悦台 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:663: 根据【80后音悦台】找到歌曲【80后音悦台】 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:1088: cur_music 80后音悦台 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:388: get_music_url web music. name:80后音悦台, url:<a href="http://stream3.hndt.com/now/SFZeH2cb/playlist.m3u8" target="_self">http://stream3.hndt.com/now/SFZeH2cb/playlist.m3u8</a> stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:360: get_music_sec_url. name:80后音悦台 url:<a href="http://stream3.hndt.com/now/SFZeH2cb/playlist.m3u8" target="_self">http://stream3.hndt.com/now/SFZeH2cb/playlist.m3u8</a> stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:362: 电台不会有播放时长 stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:1437: group_force_stop_xiaoai [&#39;be1daeaa-df03-4a27-8aff-404356abfa9a&#39;] stderr: [08:58:09] [0.3.37] [ERROR] xiaomusic.py:1137: Execption Error <a href="https://api2.mina.mi.com/remote/ubus:" target="_self">https://api2.mina.mi.com/remote/ubus:</a> {&#39;code&#39;: 101, &#39;message&#39;: &#39;ubus server or device returned invalid result&#39;, &#39;data&#39;: {&#39;device_data&#39;: &#39;{&quot;msg&quot;:&quot;Device is offline&quot;,&quot;code&quot;:608}&#39;, &#39;reqID&#39;: &#39;app_ios_10DxZOintrGWhyETo4q9auU3VMNH6A&#39;}} stderr: Traceback (most recent call last): stderr: File &quot;/app/xiaomusic/xiaomusic.py&quot;, line 1131, in force_stop_xiaoai stderr: ret = await self.xiaomusic.mina_service.player_pause(device_id) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 79, in player_pause stderr: return await self.ubus_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 59, in ubus_request stderr: result = await self.mina_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 49, in mina_request stderr: return await self.account.mi_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py&quot;, line 150, in mi_request stderr: raise Exception(f&quot;Error {url}: {resp}&quot;) stderr: Exception: Error <a href="https://api2.mina.mi.com/remote/ubus:" target="_self">https://api2.mina.mi.com/remote/ubus:</a> {&#39;code&#39;: 101, &#39;message&#39;: &#39;ubus server or device returned invalid result&#39;, &#39;data&#39;: {&#39;device_data&#39;: &#39;{&quot;msg&quot;:&quot;Device is offline&quot;,&quot;code&quot;:608}&#39;, &#39;reqID&#39;: &#39;app_ios_10DxZOintrGWhyETo4q9auU3VMNH6A&#39;}} stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:1440: group_force_stop_xiaoai [&#39;be1daeaa-df03-4a27-8aff-404356abfa9a&#39;] [None] stderr: [08:58:09] [0.3.37] [INFO] xiaomusic.py:1091: 播放 <a href="http://stream3.hndt.com/now/SFZeH2cb/playlist.m3u8" target="_self">http://stream3.hndt.com/now/SFZeH2cb/playlist.m3u8</a> stderr: [08:58:10] [0.3.37] [ERROR] xiaomusic.py:1332: Execption Error <a href="https://api2.mina.mi.com/remote/ubus:" target="_self">https://api2.mina.mi.com/remote/ubus:</a> {&#39;code&#39;: 101, &#39;message&#39;: &#39;ubus server or device returned invalid result&#39;, &#39;data&#39;: {&#39;device_data&#39;: &#39;{&quot;msg&quot;:&quot;Device is offline&quot;,&quot;code&quot;:608}&#39;, &#39;reqID&#39;: &#39;app_ios_Bbkf4HLQiN7tjl1rGD2gpXuJ8yI0nP&#39;}} stderr: Traceback (most recent call last): stderr: File &quot;/app/xiaomusic/xiaomusic.py&quot;, line 1327, in play_one_url stderr: ret = await self.xiaomusic.mina_service.play_by_url(device_id, url) stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 125, in play_by_url stderr: return await self.ubus_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 59, in ubus_request stderr: result = await self.mina_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/minaservice.py&quot;, line 49, in mina_request stderr: return await self.account.mi_request( stderr: File &quot;/app/.venv/lib/python3.10/site-packages/miservice/miaccount.py&quot;, line 150, in mi_request stderr: raise Exception(f&quot;Error {url}: {resp}&quot;) stderr: Exception: Error <a href="https://api2.mina.mi.com/remote/ubus:" target="_self">https://api2.mina.mi.com/remote/ubus:</a> {&#39;code&#39;: 101, &#39;message&#39;: &#39;ubus server or device returned invalid result&#39;, &#39;data&#39;: {&#39;device_data&#39;: &#39;{&quot;msg&quot;:&quot;Device is offline&quot;,&quot;code&quot;:608}&#39;, &#39;reqID&#39;: &#39;app_ios_Bbkf4HLQiN7tjl1rGD2gpXuJ8yI0nP&#39;}} stderr: [08:58:10] [0.3.37] [INFO] xiaomusic.py:1305: group_player_play <a href="http://stream3.hndt.com/now/SFZeH2cb/playlist.m3u8" target="_self">http://stream3.hndt.com/now/SFZeH2cb/playlist.m3u8</a> [&#39;be1daeaa-df03-4a27-8aff-404356abfa9a&#39;] [None] stderr: [08:58:10] [0.3.37] [INFO] xiaomusic.py:1094: 播放 80后音悦台 失败</p><hr><h3 id="评论-4-hanxi" tabindex="-1">评论 4 - hanxi <a class="header-anchor" href="#评论-4-hanxi" aria-label="Permalink to &quot;评论 4 - hanxi&quot;" target="_self">​</a></h3><p>设备掉线了</p><hr><h3 id="评论-5-201692929" tabindex="-1">评论 5 - 201692929 <a class="header-anchor" href="#评论-5-201692929" aria-label="Permalink to &quot;评论 5 - 201692929&quot;" target="_self">​</a></h3><p>怎么获取 他正在播放什么？或者是播放进度 ？播放列表？我想给他加进去 <img src="https://github.com/user-attachments/assets/013cd952-69e9-4754-870f-2d5321865179" alt="233333"></p><hr><h3 id="评论-6-hanxi" tabindex="-1">评论 6 - hanxi <a class="header-anchor" href="#评论-6-hanxi" aria-label="Permalink to &quot;评论 6 - hanxi&quot;" target="_self">​</a></h3><blockquote><p>怎么获取 他正在播放什么？或者是播放进度 ？播放列表？我想给他加进去 <img src="https://private-user-images.githubusercontent.com/100142519/372926296-013cd952-69e9-4754-870f-2d5321865179.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mjc4ODY3MzUsIm5iZiI6MTcyNzg4NjQzNSwicGF0aCI6Ii8xMDAxNDI1MTkvMzcyOTI2Mjk2LTAxM2NkOTUyLTY5ZTktNDc1NC04NzBmLTJkNTMyMTg2NTE3OS5qcGc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQxMDAyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MTAwMlQxNjI3MTVaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNzI5OTdhOTAxMmIwMDkxZTBjOGNhYTZkOWVjY2MwZTRmNGE0YTYzNDFhNGY1YzNjNTI4ZWY0YzYzYzc0Nzk3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.4-5nGDdkDv9FRp9bAnwN4dzmf4wqKHnG4bW44BhVyRQ" alt="233333"></p></blockquote><p>这个接口 <code>/playingmusic</code></p><hr><h3 id="评论-7-114514thd" tabindex="-1">评论 7 - 114514thD <a class="header-anchor" href="#评论-7-114514thd" aria-label="Permalink to &quot;评论 7 - 114514thD&quot;" target="_self">​</a></h3><p>加不加&quot;type&quot;:&quot;radio&quot;都会一直播放不切换到下一首歌是为什么呢</p><hr><h3 id="评论-8-hanxi" tabindex="-1">评论 8 - hanxi <a class="header-anchor" href="#评论-8-hanxi" aria-label="Permalink to &quot;评论 8 - hanxi&quot;" target="_self">​</a></h3><blockquote><p>加不加&quot;type&quot;:&quot;radio&quot;都会一直播放不切换到下一首歌是为什么呢</p></blockquote><p>发出来看看？</p><hr><h3 id="评论-9-114514thd" tabindex="-1">评论 9 - 114514thD <a class="header-anchor" href="#评论-9-114514thd" aria-label="Permalink to &quot;评论 9 - 114514thD&quot;" target="_self">​</a></h3><blockquote><blockquote><p>加不加&quot;type&quot;:&quot;radio&quot;都会一直播放不切换到下一首歌是为什么呢</p></blockquote><p>发出来看看？</p></blockquote><p><s>本地开服务器，生成的m3u列表 格式如下 <code>#EXTINF:247,周传雄 - 临别一眼.mp3 http://192.168.1.147:8000/%E5%91%A8%E4%BC%A0%E9%9B%84%20-%20%E4%B8%B4%E5%88%AB%E4%B8%80%E7%9C%BC.mp3</code> 包含了时长信息 版本是0.3.46 potplayer里播放完全正常</s></p><p>仔细研究了一下，发现确实存在问题，不过是另一种情况，下面单说</p><hr><h3 id="评论-10-114514thd" tabindex="-1">评论 10 - 114514thD <a class="header-anchor" href="#评论-10-114514thd" aria-label="Permalink to &quot;评论 10 - 114514thD&quot;" target="_self">​</a></h3><blockquote><blockquote><p>加不加&quot;type&quot;:&quot;radio&quot;都会一直播放不切换到下一首歌是为什么呢</p></blockquote><p>发出来看看？</p></blockquote><p>经过实验发现，本地生成的m3u用potplayer播放正常 <img src="https://github.com/user-attachments/assets/754e4344-9262-4ad1-bf17-dd83f5e3b6e5" alt="image"> 转换为json（去掉&quot;type&quot;:&quot;radio&quot;）后用小爱播放也正常 <img src="https://github.com/user-attachments/assets/9f1a9f02-6cf1-4536-91bd-e5e3677d6513" alt="image"></p><p>但是alist链接就不正常，alist生成的m3u格式如下 <code>#EXTM3U #EXTINF:-1,Let Me Hear.mp3 http://192.168.1.198:5244/d/%E7%BD%91%E6%98%93%E4%BA%91%E9%9F%B3%E4%B9%90%20%E9%9F%B3%E4%B9%90%E4%BA%91%E7%9B%98/Let%20Me%20Hear.mp3?sign=xxxx=:0</code> 没有时长信息，但是用potplayer一播放就出现时长了 <img src="https://github.com/user-attachments/assets/34ac4b9f-8b7f-40d7-9ac9-aa4621b59aa3" alt="image"> 而用小爱播放就始终没有时长（切歌、等待都试过了） <img src="https://github.com/user-attachments/assets/a42b62e4-7a48-46b8-b83b-a4c8cb219c0b" alt="image"> 大佬你的示例链接（gist.github.com/hanxi/dda82d964a28f8110f8fba81c3ff8314）里的又是正常的，感觉可能是alist的流比较特殊。。 <img src="https://github.com/user-attachments/assets/f84ab805-54a6-40f1-937c-67832ff0b9d6" alt="image"></p><hr><p><a href="https://github.com/hanxi/xiaomusic/issues/78" target="_self">链接到 GitHub Issue</a></p>`,50)]))}const m=t(r,[["render",p]]);export{h as __pageData,m as default};
