Skip to content

RuntimeError: File at path /Users/songhaonan/Desktop/xiaomusic/music is not a file. #575

@liuxingbo12138

Description

@liuxingbo12138

pip 方式启动的,播放未下载的歌曲报错
喊小爱同学播放没有的歌曲的时候,会先下载,然后后台代码报错,此时歌曲已经下载完成,再次喊小爱同学播放歌曲,此时正常播放
看日志是有一个RuntimeError: File at path /Users/songhaonan/Desktop/xiaomusic/music is not a file.
路径相关报错

[2025-11-08 22:15:21] [0.3.99] [INFO] xiaomusic.py:963: 收到消息:播放歌曲匆匆那年 控制面板:False did:266007426 [2025-11-08 22:15:21] [0.3.99] [INFO] xiaomusic.py:1059: 匹配到指令. opkey:播放歌曲 opvalue:play oparg:匆匆那年 [2025-11-08 22:15:21] [0.3.99] [INFO] xiaomusic.py:1685: play. search_key:匆匆那年 name:匆匆那年 [2025-11-08 22:15:21] [0.3.99] [INFO] xiaomusic.py:1098: 没找到歌曲【匆匆那年】 [2025-11-08 22:15:21] [0.3.99] [INFO] xiaomusic.py:1944: download cmd: yt-dlp bilisearch:匆匆那年 -x --audio-format mp3 --audio-quality 0 --paths music/download -o 匆匆那年.mp3 --ffmpeg-location ./ffmpeg/bin --no-playlist [2025-11-08 22:15:21] [0.3.99] [INFO] xiaomusic.py:1850: try do_tts value:正在下载歌曲匆匆那年 [2025-11-08 22:15:21] [0.3.99] [INFO] xiaomusic.py:2054: Call MiIOService tts. [2025-11-08 22:15:21] [0.3.99] [ERROR] miaccount.py:89: Exception on login 2673632125: 'passToken' Traceback (most recent call last): File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/miservice/miaccount.py", line 75, in login self.token["passToken"] = resp["passToken"] ~~~~^^^^^^^^^^^^^ KeyError: 'passToken' [2025-11-08 22:15:21] [0.3.99] [ERROR] xiaomusic.py:2065: Execption Error https://api.io.mi.com/app/miotspec/action: Login failed Traceback (most recent call last): File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/xiaomusic/xiaomusic.py", line 2056, in text_to_speech await miio_command( File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/miservice/miiocommand.py", line 113, in miio_command return await service.miot_action(did, props[0], args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/miservice/miioservice.py", line 87, in miot_action result = await self.miot_request( ^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/miservice/miioservice.py", line 66, in miot_request return await self.miio_request("/miotspec/" + cmd, {"params": params}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/miservice/miioservice.py", line 30, in miio_request resp = await self.account.mi_request( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/miservice/miaccount.py", line 155, in mi_request raise Exception(f"Error {url}: {resp}") Exception: Error https://api.io.mi.com/app/miotspec/action: Login failed [BiliBiliSearch] Extracting URL: bilisearch:匆匆那年 [download] Downloading playlist: 匆匆那年 [BiliBiliSearch] 匆匆那年: Extracting results from page 1 [22:15:22] [0.3.99] [INFO] 192.168.3.47:62148 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:22] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62148 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:22] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:22] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:22] [0.3.99] [INFO] connection closed [2025-11-08 22:15:22] [0.3.99] [INFO] server.py:264: connection closed [BiliBiliSearch] Playlist 匆匆那年: Downloading 1 items of 1 [download] Downloading item 1 of 1 [BiliBili] Extracting URL: http://www.bilibili.com/video/av680534644 [BiliBili] 680534644: Downloading webpage [BiliBili] BV1MS4y1j7of: Extracting videos in anthology [BiliBili] BV1MS4y1j7of: Downloading wbi sign [BiliBili] BV1MS4y1j7of: Downloading video formats for cid 480053348 [BiliBili] Format(s) 4K 超高清, 1080P 高码率 are missing; you have to become a premium member to download them. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies [BiliBili] 680534644: Extracting chapters [info] BV1MS4y1j7of: Downloading 1 format(s): 30280 [download] Destination: music/download/匆匆那年.m4a [download] 100% of 3.60MiB in 00:00:00 at 5.56MiB/s [ExtractAudio] Destination: music/download/匆匆那年.mp3 ERROR: Postprocessing: audio conversion failed: Error opening output files: Encoder not found [download] Finished downloading playlist: 匆匆那年 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:1861: do_tts ok. cur_music:匆匆那年 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:1901: Process exited with returncode:1 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:1958: 现在重新播放歌曲 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:2035: 当前歌曲 匆匆那年 不在当前播放列表 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:1726: 开始播放下一首 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:463: try get_filename. filename:music/download/陈奕迅富士山下.m4a [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:1738: _play_next. name:陈奕迅富士山下, cur_music:匆匆那年 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:1685: play. search_key: name:陈奕迅富士山下 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:1096: 根据【陈奕迅富士山下】找到歌曲【['陈奕迅富士山下']】 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:2255: cancel_group_next_timer {'266007426': <xiaomusic.xiaomusic.XiaoMusicDevice object at 0x10808b710>} [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:2245: cancel_next_timer [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:2251: 下一曲定时器不见了 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:1813: cur_music 陈奕迅富士山下 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:463: try get_filename. filename:music/download/陈奕迅富士山下.m4a [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:641: _get_local_music_url local music. name:陈奕迅富士山下, filename:download/陈奕迅富士山下.m4a [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:542: get_music_sec_url. name:陈奕迅富士山下 url:http://192.168.3.47:8090/music/download/%E9%99%88%E5%A5%95%E8%BF%85%E5%AF%8C%E5%A3%AB%E5%B1%B1%E4%B8%8B.m4a origin_url:None [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:463: try get_filename. filename:music/download/陈奕迅富士山下.m4a [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:579: get_music_sec_url. name:陈奕迅富士山下 filename:music/download/陈奕迅富士山下.m4a [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:582: 本地歌曲 陈奕迅富士山下 : music/download/陈奕迅富士山下.m4a http://192.168.3.47:8090/music/download/%E9%99%88%E5%A5%95%E8%BF%85%E5%AF%8C%E5%A3%AB%E5%B1%B1%E4%B8%8B.m4a 的时长 298 秒 [2025-11-08 22:15:24] [0.3.99] [INFO] xiaomusic.py:2222: group_force_stop_xiaoai ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1867: force_stop_xiaoai player_pause device_id:bfcc4f0b-2866-47b5-aafa-3895728284f6 ret:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}} [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1878: {'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0, 'info': '{ "status": 0, "volume": 18, "loop_type": 1 }'}} [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2225: group_force_stop_xiaoai ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [None] [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1816: 播放 http://192.168.3.47:8090/music/download/%E9%99%88%E5%A5%95%E8%BF%85%E5%AF%8C%E5%A3%AB%E5%B1%B1%E4%B8%8B.m4a [22:15:25] [0.3.99] [INFO] 192.168.3.47:62157 - "POST /thdaction HTTP/1.1" 200 [22:15:25] [0.3.99] [INFO] 192.168.3.45:60486 - "GET /music/download/%E9%99%88%E5%A5%95%E8%BF%85%E5%AF%8C%E5%A3%AB%E5%B1%B1%E4%B8%8B.m4a HTTP/1.1" 206 [22:15:25] [0.3.99] [INFO] 192.168.3.45:60488 - "GET /music/download/%E9%99%88%E5%A5%95%E8%BF%85%E5%AF%8C%E5%A3%AB%E5%B1%B1%E4%B8%8B.m4a HTTP/1.1" 206 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2094: play_one_url play_by_music_url device_id:bfcc4f0b-2866-47b5-aafa-3895728284f6 ret:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}} url:http://192.168.3.47:8090/music/download/%E9%99%88%E5%A5%95%E8%BF%85%E5%AF%8C%E5%A3%AB%E5%B1%B1%E4%B8%8B.m4a audio_id:1582971365183456177 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2074: group_player_play http://192.168.3.47:8090/music/download/%E9%99%88%E5%A5%95%E8%BF%85%E5%AF%8C%E5%A3%AB%E5%B1%B1%E4%B8%8B.m4a ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}}] [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1835: 【陈奕迅富士山下】已经开始播放了 [2025-11-08 22:15:25] [0.3.99] [INFO] analytics.py:64: analytics is disabled, skip sending event [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2245: cancel_next_timer [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2251: 下一曲定时器不见了 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2168: 301 秒后将会播放下一首歌曲 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1513: save_cur_config ok [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1947: 正在下载中 匆匆那年 匆匆那年 [2025-11-08 22:15:25] [0.3.99] [INFO] utils.py:1301: chmodfile failed: [Errno 2] No such file or directory: 'music/download/匆匆那年.mp3' [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:676: 已从【cache/tag_cache.json】加载 tag cache [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:717: ignore_tag_absolute_dirs: [] [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:732: 匆匆那年/music/download/匆匆那年.mp3 无法更新 tag [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:690: 保存:tag cache 已保存到【cache/tag_cache.json】 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:745: tag 更新完成 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1981: add_download_music add_music 匆匆那年 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2255: cancel_group_next_timer {'266007426': <xiaomusic.xiaomusic.XiaoMusicDevice object at 0x10808b710>} [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2245: cancel_next_timer [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2248: 下一曲定时器已取消 bfcc4f0b-2866-47b5-aafa-3895728284f6 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1813: cur_music 匆匆那年 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:463: try get_filename. filename:music/download/匆匆那年.mp3 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:641: _get_local_music_url local music. name:匆匆那年, filename: [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:542: get_music_sec_url. name:匆匆那年 url:http://192.168.3.47:8090/music/ origin_url:None [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:463: try get_filename. filename:music/download/匆匆那年.mp3 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:579: get_music_sec_url. name:匆匆那年 filename: [2025-11-08 22:15:25] [0.3.99] [WARNING] utils.py:429: Error getting local music duration: Expecting value: line 1 column 1 (char 0) [2025-11-08 22:15:25] [0.3.99] [WARNING] utils.py:398: Error getting local music duration: [Errno 2] No such file or directory: '' [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:582: 本地歌曲 匆匆那年 : http://192.168.3.47:8090/music/ 的时长 0 秒 [2025-11-08 22:15:25] [0.3.99] [WARNING] xiaomusic.py:558: 获取歌曲时长失败 匆匆那年 http://192.168.3.47:8090/music/ [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:2222: group_force_stop_xiaoai ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [22:15:25] [0.3.99] [INFO] 192.168.3.45:60490 - "GET /music/download/%E9%99%88%E5%A5%95%E8%BF%85%E5%AF%8C%E5%A3%AB%E5%B1%B1%E4%B8%8B.m4a HTTP/1.1" 206 [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1867: force_stop_xiaoai player_pause device_id:bfcc4f0b-2866-47b5-aafa-3895728284f6 ret:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}} [2025-11-08 22:15:25] [0.3.99] [INFO] xiaomusic.py:1878: {'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0, 'info': '{ "status": 1, "volume": 18, "loop_type": 1 }'}} [2025-11-08 22:15:26] [0.3.99] [INFO] xiaomusic.py:1891: stop_if_xiaoai_is_playing player_stop device_id:bfcc4f0b-2866-47b5-aafa-3895728284f6 enable_force_stop:False ret:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}} [2025-11-08 22:15:26] [0.3.99] [INFO] xiaomusic.py:2225: group_force_stop_xiaoai ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [None] [2025-11-08 22:15:26] [0.3.99] [INFO] xiaomusic.py:1816: 播放 http://192.168.3.47:8090/music/ [22:15:26] [0.3.99] [INFO] 192.168.3.47:62160 - "POST /thdaction HTTP/1.1" 200 [22:15:26] [0.3.99] [INFO] 192.168.3.45:60498 - "GET /music/ HTTP/1.1" 500 [22:15:26] [0.3.99] [ERROR] Exception in ASGI application Traceback (most recent call last): File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/engineio/async_drivers/asgi.py", line 75, in __call__ await self.other_asgi_app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/applications.py", line 1134, in __call__ await super().__call__(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 365, in _sentry_patched_asgi_app return await middleware(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 146, in _run_asgi3 return await self._run_app(scope, receive, send, asgi_version=3) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 241, in _run_app raise exc from None File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 234, in _run_app return await self.app( ^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/errors.py", line 186, in __call__ raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/errors.py", line 164, in __call__ await self.app(scope, receive, _send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/gzip.py", line 29, in __call__ await responder(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/gzip.py", line 46, in __call__ await self.app(scope, receive, self.send_with_compression) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__ await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 257, in _sentry_exceptionmiddleware_call await old_call(self, scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 716, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 736, in app await route.handle(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 290, in handle await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/routing.py", line 125, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/routing.py", line 112, in app await response(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/responses.py", line 356, in __call__ raise RuntimeError(f"File at path {self.path} is not a file.") RuntimeError: File at path /Users/songhaonan/Desktop/xiaomusic/music is not a file. [2025-11-08 22:15:26] [0.3.99] [ERROR] h11_impl.py:408: Exception in ASGI application Traceback (most recent call last): File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/engineio/async_drivers/asgi.py", line 75, in __call__ await self.other_asgi_app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/applications.py", line 1134, in __call__ await super().__call__(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 365, in _sentry_patched_asgi_app return await middleware(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 146, in _run_asgi3 return await self._run_app(scope, receive, send, asgi_version=3) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 241, in _run_app raise exc from None File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 234, in _run_app return await self.app( ^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/errors.py", line 186, in __call__ raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/errors.py", line 164, in __call__ await self.app(scope, receive, _send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/gzip.py", line 29, in __call__ await responder(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/gzip.py", line 46, in __call__ await self.app(scope, receive, self.send_with_compression) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__ await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 257, in _sentry_exceptionmiddleware_call await old_call(self, scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 716, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 736, in app await route.handle(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 290, in handle await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/routing.py", line 125, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/routing.py", line 112, in app await response(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/responses.py", line 356, in __call__ raise RuntimeError(f"File at path {self.path} is not a file.") RuntimeError: File at path /Users/songhaonan/Desktop/xiaomusic/music is not a file. [2025-11-08 22:15:26] [0.3.99] [INFO] xiaomusic.py:2094: play_one_url play_by_music_url device_id:bfcc4f0b-2866-47b5-aafa-3895728284f6 ret:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}} url:http://192.168.3.47:8090/music/ audio_id:1582971365183456177 [2025-11-08 22:15:26] [0.3.99] [INFO] xiaomusic.py:2074: group_player_play http://192.168.3.47:8090/music/ ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}}] [2025-11-08 22:15:26] [0.3.99] [INFO] xiaomusic.py:1835: 【匆匆那年】已经开始播放了 [2025-11-08 22:15:26] [0.3.99] [INFO] analytics.py:64: analytics is disabled, skip sending event [2025-11-08 22:15:26] [0.3.99] [INFO] xiaomusic.py:1840: 【匆匆那年】不会设置下一首歌的定时器 [22:15:26] [0.3.99] [INFO] 192.168.3.45:60500 - "GET /music/ HTTP/1.0" 500 [22:15:26] [0.3.99] [ERROR] Exception in ASGI application Traceback (most recent call last): File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/engineio/async_drivers/asgi.py", line 75, in __call__ await self.other_asgi_app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/applications.py", line 1134, in __call__ await super().__call__(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 365, in _sentry_patched_asgi_app return await middleware(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 146, in _run_asgi3 return await self._run_app(scope, receive, send, asgi_version=3) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 241, in _run_app raise exc from None File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 234, in _run_app return await self.app( ^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/errors.py", line 186, in __call__ raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/errors.py", line 164, in __call__ await self.app(scope, receive, _send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/gzip.py", line 29, in __call__ await responder(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/gzip.py", line 46, in __call__ await self.app(scope, receive, self.send_with_compression) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__ await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 257, in _sentry_exceptionmiddleware_call await old_call(self, scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 716, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 736, in app await route.handle(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 290, in handle await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/routing.py", line 125, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/routing.py", line 112, in app await response(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/responses.py", line 356, in __call__ raise RuntimeError(f"File at path {self.path} is not a file.") RuntimeError: File at path /Users/songhaonan/Desktop/xiaomusic/music is not a file. [2025-11-08 22:15:26] [0.3.99] [ERROR] h11_impl.py:408: Exception in ASGI application Traceback (most recent call last): File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi result = await app( # type: ignore[func-returns-value] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__ return await self.app(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/engineio/async_drivers/asgi.py", line 75, in __call__ await self.other_asgi_app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/applications.py", line 1134, in __call__ await super().__call__(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 365, in _sentry_patched_asgi_app return await middleware(scope, receive, send) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 146, in _run_asgi3 return await self._run_app(scope, receive, send, asgi_version=3) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 241, in _run_app raise exc from None File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/asgi.py", line 234, in _run_app return await self.app( ^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/errors.py", line 186, in __call__ raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/errors.py", line 164, in __call__ await self.app(scope, receive, _send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/gzip.py", line 29, in __call__ await responder(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/gzip.py", line 46, in __call__ await self.app(scope, receive, self.send_with_compression) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/cors.py", line 85, in __call__ await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 257, in _sentry_exceptionmiddleware_call await old_call(self, scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 63, in __call__ await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/sentry_sdk/integrations/starlette.py", line 158, in _create_span_call return await old_call(app, scope, new_receive, new_send, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__ await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 716, in __call__ await self.middleware_stack(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 736, in app await route.handle(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/routing.py", line 290, in handle await self.app(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/routing.py", line 125, in app await wrap_app_handling_exceptions(app, request)(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app raise exc File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app await app(scope, receive, sender) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/fastapi/routing.py", line 112, in app await response(scope, receive, send) File "/Users/songhaonan/Desktop/xiaomusic/xiaomusic/lib/python3.12/site-packages/starlette/responses.py", line 356, in __call__ raise RuntimeError(f"File at path {self.path} is not a file.") RuntimeError: File at path /Users/songhaonan/Desktop/xiaomusic/music is not a file. [22:15:29] [0.3.99] [INFO] 192.168.3.47:62165 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:29] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62165 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:29] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:29] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:29] [0.3.99] [INFO] connection closed [2025-11-08 22:15:29] [0.3.99] [INFO] server.py:264: connection closed [22:15:29] [0.3.99] [INFO] 192.168.3.47:62167 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:29] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62167 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:29] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:29] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:29] [0.3.99] [INFO] connection closed [2025-11-08 22:15:29] [0.3.99] [INFO] server.py:264: connection closed [2025-11-08 22:15:34] [0.3.99] [INFO] xiaomusic.py:918: 检测到目录音乐文件变化,正在刷新歌曲列表。 [2025-11-08 22:15:34] [0.3.99] [INFO] xiaomusic.py:1655: 随机打乱 全部 ['匆匆那年', '陈奕迅富士山下'] ... ['吴哥窑', '相见恨晚'] with len: 6 [2025-11-08 22:15:34] [0.3.99] [INFO] xiaomusic.py:704: 启动后台构建 tag cache [2025-11-08 22:15:34] [0.3.99] [INFO] xiaomusic.py:676: 已从【cache/tag_cache.json】加载 tag cache [2025-11-08 22:15:34] [0.3.99] [INFO] xiaomusic.py:717: ignore_tag_absolute_dirs: [] [2025-11-08 22:15:34] [0.3.99] [INFO] xiaomusic.py:690: 保存:tag cache 已保存到【cache/tag_cache.json】 [2025-11-08 22:15:34] [0.3.99] [INFO] xiaomusic.py:745: tag 更新完成 [22:15:34] [0.3.99] [INFO] 192.168.3.47:62173 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:34] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62173 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:34] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:34] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:34] [0.3.99] [INFO] connection closed [2025-11-08 22:15:34] [0.3.99] [INFO] server.py:264: connection closed [22:15:36] [0.3.99] [INFO] 192.168.3.47:62175 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:36] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62175 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:36] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:36] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:36] [0.3.99] [INFO] connection closed [2025-11-08 22:15:36] [0.3.99] [INFO] server.py:264: connection closed [22:15:41] [0.3.99] [INFO] 192.168.3.47:62184 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:41] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62184 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:41] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:41] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:41] [0.3.99] [INFO] connection closed [2025-11-08 22:15:41] [0.3.99] [INFO] server.py:264: connection closed [22:15:41] [0.3.99] [INFO] 192.168.3.47:62186 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:41] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62186 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:41] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:41] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:41] [0.3.99] [INFO] connection closed [2025-11-08 22:15:41] [0.3.99] [INFO] server.py:264: connection closed [22:15:47] [0.3.99] [INFO] 192.168.3.47:62194 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:47] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62194 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:47] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:47] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:47] [0.3.99] [INFO] connection closed [2025-11-08 22:15:47] [0.3.99] [INFO] server.py:264: connection closed [22:15:49] [0.3.99] [INFO] 192.168.3.47:62203 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:49] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62203 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:49] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:49] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:49] [0.3.99] [INFO] connection closed [2025-11-08 22:15:49] [0.3.99] [INFO] server.py:264: connection closed [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:963: 收到消息:播放歌曲匆匆那年 控制面板:False did:266007426 [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:1059: 匹配到指令. opkey:播放歌曲 opvalue:play oparg:匆匆那年 [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:1685: play. search_key:匆匆那年 name:匆匆那年 [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:1096: 根据【匆匆那年】找到歌曲【['匆匆那年']】 [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:2255: cancel_group_next_timer {'266007426': <xiaomusic.xiaomusic.XiaoMusicDevice object at 0x10808b710>} [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:2245: cancel_next_timer [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:2251: 下一曲定时器不见了 [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:1813: cur_music 匆匆那年 [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:463: try get_filename. filename:music/download/匆匆那年.m4a [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:641: _get_local_music_url local music. name:匆匆那年, filename:download/匆匆那年.m4a [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:542: get_music_sec_url. name:匆匆那年 url:http://192.168.3.47:8090/music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a origin_url:None [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:463: try get_filename. filename:music/download/匆匆那年.m4a [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:579: get_music_sec_url. name:匆匆那年 filename:music/download/匆匆那年.m4a [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:582: 本地歌曲 匆匆那年 : music/download/匆匆那年.m4a http://192.168.3.47:8090/music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a 的时长 234 秒 [2025-11-08 22:15:53] [0.3.99] [INFO] xiaomusic.py:2222: group_force_stop_xiaoai ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:1867: force_stop_xiaoai player_pause device_id:bfcc4f0b-2866-47b5-aafa-3895728284f6 ret:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}} [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:1878: {'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0, 'info': '{ "status": 0, "volume": 18, "loop_type": 1 }'}} [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:2225: group_force_stop_xiaoai ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [None] [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:1816: 播放 http://192.168.3.47:8090/music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a [22:15:55] [0.3.99] [INFO] 192.168.3.47:62215 - "POST /thdaction HTTP/1.1" 200 [22:15:55] [0.3.99] [INFO] 192.168.3.47:62216 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:55] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62216 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:55] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:55] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:55] [0.3.99] [INFO] connection closed [2025-11-08 22:15:55] [0.3.99] [INFO] server.py:264: connection closed [22:15:55] [0.3.99] [INFO] 192.168.3.45:60518 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:2094: play_one_url play_by_music_url device_id:bfcc4f0b-2866-47b5-aafa-3895728284f6 ret:{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}} url:http://192.168.3.47:8090/music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a audio_id:1582971365183456177 [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:2074: group_player_play http://192.168.3.47:8090/music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a ['bfcc4f0b-2866-47b5-aafa-3895728284f6'] [{'code': 0, 'message': "Msg has been successfully proxy to the device, this service is a simple proxy, if you encounter any problems pls contact ROM's developers directly!!!", 'data': {'code': 0}}] [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:1835: 【匆匆那年】已经开始播放了 [2025-11-08 22:15:55] [0.3.99] [INFO] analytics.py:64: analytics is disabled, skip sending event [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:2245: cancel_next_timer [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:2251: 下一曲定时器不见了 [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:2168: 237 秒后将会播放下一首歌曲 [2025-11-08 22:15:55] [0.3.99] [INFO] xiaomusic.py:1513: save_cur_config ok [22:15:55] [0.3.99] [INFO] 192.168.3.45:60520 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60522 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60524 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60526 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60528 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60530 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60534 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60536 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60538 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60540 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60542 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:55] [0.3.99] [INFO] 192.168.3.45:60544 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60546 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60548 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60550 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60552 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60554 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60556 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60558 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60560 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60562 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60564 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60566 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60568 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60570 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60572 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60574 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.47:62221 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:15:56] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62221 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:15:56] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:15:56] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:15:56] [0.3.99] [INFO] connection closed [2025-11-08 22:15:56] [0.3.99] [INFO] server.py:264: connection closed [22:15:56] [0.3.99] [INFO] 192.168.3.45:60576 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60578 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60580 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60582 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60584 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60586 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60588 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60590 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60592 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60594 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:56] [0.3.99] [INFO] 192.168.3.45:60596 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60598 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60600 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60602 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60604 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60606 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60608 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60610 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60612 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:15:57] [0.3.99] [INFO] 192.168.3.45:60614 - "GET /music/download/%E5%8C%86%E5%8C%86%E9%82%A3%E5%B9%B4.m4a HTTP/1.1" 206 [22:16:03] [0.3.99] [INFO] 192.168.3.47:62229 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:16:03] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62229 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:16:03] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:16:03] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:16:03] [0.3.99] [INFO] connection closed [2025-11-08 22:16:03] [0.3.99] [INFO] server.py:264: connection closed [22:16:03] [0.3.99] [INFO] 192.168.3.47:62230 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:16:03] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62230 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:16:03] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:16:03] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:16:03] [0.3.99] [INFO] connection closed [2025-11-08 22:16:03] [0.3.99] [INFO] server.py:264: connection closed [22:16:07] [0.3.99] [INFO] 192.168.3.47:62236 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [2025-11-08 22:16:07] [0.3.99] [INFO] websockets_impl.py:291: 192.168.3.47:62236 - "WebSocket /ws/playingmusic?token=aaaaaaaaaaaaaa.aaaaaaaaaaaaaa.aaaaaaaaaaaaaa" 403 [22:16:07] [0.3.99] [INFO] connection rejected (403 Forbidden) [2025-11-08 22:16:07] [0.3.99] [INFO] server.py:229: connection rejected (403 Forbidden) [22:16:07] [0.3.99] [INFO] connection closed [2025-11-08 22:16:07] [0.3.99] [INFO] server.py:264: connection closed

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions