mirror of
https://github.com/hanxi/xiaomusic.git
synced 2025-12-13 15:58:13 +08:00
202 lines
6.9 KiB
Markdown
202 lines
6.9 KiB
Markdown
---
|
||
title: 已支持配置自定义网络歌单,在这里分享你的歌单
|
||
---
|
||
|
||
# 已支持配置自定义网络歌单,在这里分享你的歌单
|
||
|
||
设置页面新增一个输入框配置json格式,可以定义配置音乐源,可以是电台或者其他的m3u8格式的。
|
||
再加一个输入框配置这个json文件的url,点击获取按钮把url对应的json内容填充到json输入框,方便直接使用别人分享的歌单。
|
||
|
||
比如这样的链接
|
||
- https://lhttp.qtfm.cn/live/4915/64k.mp3
|
||
- http://ngcdn001.cnr.cn/live/zgzs/index.m3u8
|
||
|
||
已经测试能播放出来:
|
||
```
|
||
python3 micli.py play http://ngcdn001.cnr.cn/live/zgzs/index.m3u8
|
||
```
|
||
|
||
预计歌单格式是这样的, type 为 radio 作为电台的设定,会一直播放当前电台,不会播放下一首。
|
||
```json
|
||
[
|
||
{
|
||
"name":"歌单1",
|
||
"musics":[
|
||
{
|
||
"name":"歌名1",
|
||
"url":"http://ngcdn001.cnr.cn/live/zgzs/index.m3u8",
|
||
"type":"radio"
|
||
},
|
||
{
|
||
"name":"歌名2",
|
||
"url":"https://lhttp.qtfm.cn/live/4915/64k.mp3"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"name":"歌单2",
|
||
"musics":[
|
||
{
|
||
"name":"歌名3",
|
||
"url":"https://lhttp.qtfm.cn/live/4915/64k.mp3"
|
||
},
|
||
{
|
||
"name":"花海",
|
||
"url":"http://192.168.2.5:58090/proxy?urlb64=aHR0cHM6Ly93cy5zdHJlYW0ucXFtdXNpYy5xcS5jb20vTTgwMDAwM29rV3ZvMXFadTljLm1wMz9mcm9tdGFnPTAmZ3VpZD1mZmZmZmZmZmM4MWU2ZjVhZmZmZmZmZmZlZGZmZWI3ZiZ1aW49MzMxMjkzOTI1NCZ2a2V5PTc1MURBOEQ5RkRFNTkwOEQ5MjVCNUZFMTNBODhEREUyQkI3MzZGNDQ3NDU4MTA1OTk2Q0Q3QTEyMTQ2ODFGRUZERjNBQURDMkY0OTY2NjJEMDM1OUVDRkE0RjQwMkM2M0RDOTk4NzdDOENGMkM3OUJfX3YyMWUyYTE3MzM="
|
||
}
|
||
]
|
||
}
|
||
]
|
||
```
|
||
|
||
这里分享一个让 chatgpt 写 python 脚本来生成歌单的例子 <https://chatgpt.com/share/6751c019-74c0-800a-a978-a20c636d4464> 。
|
||
|
||
## 代理访问链接
|
||
|
||
上面的 <http://192.168.2.5:58090/proxy?urlb64=aHR0cHM6Ly93cy5zdHJlYW0ucXFtdXNpYy5xcS5jb20vTTgwMDAwM29rV3ZvMXFadTljLm1wMz9mcm9tdGFnPTAmZ3VpZD1mZmZmZmZmZmM4MWU2ZjVhZmZmZmZmZmZlZGZmZWI3ZiZ1aW49MzMxMjkzOTI1NCZ2a2V5PTc1MURBOEQ5RkRFNTkwOEQ5MjVCNUZFMTNBODhEREUyQkI3MzZGNDQ3NDU4MTA1OTk2Q0Q3QTEyMTQ2ODFGRUZERjNBQURDMkY0OTY2NjJEMDM1OUVDRkE0RjQwMkM2M0RDOTk4NzdDOENGMkM3OUJfX3YyMWUyYTE3MzM=> 是经过代理播放的链接。可以通过其他的工具来生成。其中 <http://192.168.2.5:58090/> 是自己的 xiaomusic 地址。
|
||
|
||
## 评论
|
||
|
||
|
||
### 评论 1 - hanxi
|
||
|
||
可以使用 gist 来配置和分享 json 文件,比如 https://gist.github.com/hanxi/dda82d964a28f8110f8fba81c3ff8314
|
||
|
||
点击 raw 得到 json 文件的链接 https://gist.githubusercontent.com/hanxi/dda82d964a28f8110f8fba81c3ff8314/raw/8787844d81c39dbfaad4e37954dd449d8bba5728/example.json
|
||
|
||
当然还可以用其他工具分享json文件,比如 github 和国内的 gitee 。
|
||
|
||
---
|
||
|
||
### 评论 2 - hanxi
|
||
|
||
已经有工具支持将 m3u 格式的电台文件转为网络歌单格式,见 /issues/88.html
|
||
|
||
欢迎有兴趣的朋友制作其他格式转换工具,比如网易歌单那一类的。
|
||
|
||
---
|
||
|
||
### 评论 3 - hanxi
|
||
|
||
设备掉线了
|
||
|
||
---
|
||
|
||
### 评论 4 - hanxi
|
||
|
||
> 怎么获取 他正在播放什么?或者是播放进度 ?播放列表?我想给他加进去 
|
||
|
||
这个接口 `/playingmusic`
|
||
|
||
---
|
||
|
||
### 评论 5 - 114514thD
|
||
|
||
加不加"type":"radio"都会一直播放不切换到下一首歌是为什么呢
|
||
|
||
---
|
||
|
||
### 评论 6 - hanxi
|
||
|
||
> 加不加"type":"radio"都会一直播放不切换到下一首歌是为什么呢
|
||
|
||
发出来看看?
|
||
|
||
---
|
||
|
||
### 评论 7 - 114514thD
|
||
|
||
> > 加不加"type":"radio"都会一直播放不切换到下一首歌是为什么呢
|
||
>
|
||
> 发出来看看?
|
||
|
||
~~本地开服务器,生成的m3u列表
|
||
格式如下
|
||
`#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`
|
||
包含了时长信息
|
||
版本是0.3.46
|
||
potplayer里播放完全正常~~
|
||
|
||
仔细研究了一下,发现确实存在问题,不过是另一种情况,下面单说
|
||
|
||
---
|
||
|
||
### 评论 8 - 114514thD
|
||
|
||
> > 加不加"type":"radio"都会一直播放不切换到下一首歌是为什么呢
|
||
>
|
||
> 发出来看看?
|
||
|
||
这几天再仔细研究了一下,发现一个可能的原因:这样获取到的是m4a文件,我尝试着在json里配置获取到的m4a链接,发现播放同样也是无时长
|
||
|
||
---
|
||
|
||
### 评论 9 - hanxi
|
||
|
||
获取歌曲时长确实有些格式获取不到。
|
||
|
||
---
|
||
|
||
### 评论 10 - 114514thD
|
||
|
||
> 获取歌曲时长确实有些格式获取不到。
|
||
|
||
http://m7.music.126.net/20241216093525/75c9080afa2929d7eec8e1cdbcbc0a92/yyaac/0709/535a/5358/0c6e2dcac3d0e9fa4415d22e1eca1337.m4a
|
||
以这个文件为例,我用ffmpeg可以获取时长等元数据
|
||
`
|
||
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'http://m7.music.126.net/20241216093525/75c9080afa2929d7eec8e1cdbcbc0a92/yyaac/0709/535a/5358/0c6e2dcac3d0e9fa4415d22e1eca1337.m4a':
|
||
Metadata:
|
||
major_brand : mp42
|
||
minor_version : 0
|
||
compatible_brands: M4A mp42isom
|
||
creation_time : 2019-02-21T02:51:36.000000Z
|
||
iTunSMPB : 00000000 00000920 000003E8 00000000004BE2F8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
|
||
encoder : Nero AAC codec / 1.5.4.0
|
||
Duration: 00:03:45.70, start: 0.052971, bitrate: 64 kb/s
|
||
Chapters:
|
||
Chapter #0:0: start 0.105941, end 225.750930
|
||
Metadata:
|
||
title :
|
||
Stream #0:0[0x1](und): Audio: aac (HE-AAC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 63 kb/s (default)
|
||
Metadata:
|
||
creation_time : 2019-02-21T02:51:36.000000Z
|
||
handler_name : Sound Media Handler
|
||
vendor_id : [0][0][0][0]`
|
||
那是为什么播放就不行呢
|
||
|
||
---
|
||
|
||
### 评论 11 - hanxi
|
||
|
||
因为代码有问题。
|
||
|
||
---
|
||
|
||
### 评论 12 - 114514thD
|
||
|
||
> 因为代码有问题。
|
||
|
||
好吧😂😂,大佬真是直接😁
|
||
|
||
---
|
||
|
||
### 评论 13 - hanxi
|
||
|
||
重构方案 #314
|
||
|
||
---
|
||
|
||
### 评论 14 - LiyuTian-web
|
||
|
||
下指令后会重新播放歌曲。比如正在播放晴天,下指令声音小一点,这时会重新从头开始播放晴天这首歌,而不会继续播放。
|
||
|
||
---
|
||
|
||
### 评论 15 - hanxi
|
||
|
||
v0.3.86 版本支持 LX 歌单,歌单导出工具地址: <https://github.com/hanxi/keep-alive>
|
||
|
||
---
|
||
[链接到 GitHub Issue](https://github.com/hanxi/xiaomusic/issues/78)
|