用于做为独立的音频播放器使用。
支持HTTP API,可以配合其他程序协同工作。
开发系统:win11
python:3.10
安装依赖:pip install -r requirements.txt
其他依赖:ffmpeg
运行:python app.py
浏览器访问:http://127.0.0.1:5600/index.html
github:https://github.com/Ikaros-521/audio_player/releases
迅雷云盘: https://pan.xunlei.com/s/VNitDF0Y3l-qwTpE0A5Rh4DaA1
夸克网盘: https://pan.quark.cn/s/936dcae8aba0
使用 POST 请求到以下 URL:
http://127.0.0.1:5600/play
请求体(json字符串):
{
"voice_path": "out\\2.mp3",
"content": "音频文本内容",
"random_speed": {
"enable": false,
"max": 1.3,
"min": 0.8
},
"speed": 1,
"insert_index": 0
}
参数说明:
- voice_path: 音频文件路径
- content: 音频文本内容
- random_speed enable: 启用随机播放功能(非必填,不填默认读取本地配置)
- random_speed max: 随机播放的最大速度(非必填,不填默认读取本地配置)
- random_speed min: 随机播放的最小速度(非必填,不填默认读取本地配置)
- speed: 播放速度(非必填,不填默认读取本地配置)
- insert_index: 数据插入列表的索引值(非必填,不填默认末尾插入)
返回数据:
// 成功返回
{"code": 200, "message": "添加音频信息成功!"}
// 失败返回
{"code": -1, "message": "添加音频信息失败!{e}"}
使用 GET 请求到以下 URL:
http://127.0.0.1:5600/pause_stream
使用 GET 请求到以下 URL:
http://127.0.0.1:5600/resume_stream
使用 GET 请求到以下 URL:
http://127.0.0.1:5600/skip_current_stream
使用 GET 请求到以下 URL:
http://127.0.0.1:5600/clear
使用 GET 请求到以下 URL:
http://127.0.0.1:5600/get_list
{
"device_index": 5,
"captions_printer": {
"api_ip_port": "http://127.0.0.1:5500",
"enable": false
},
"random_speed": {
"enable": false,
"max": 1.3,
"min": 0.8
},
"speed": 1,
"random_audio_interval": {
"enable": false,
"max": 3,
"min": 0.1
},
"audio_interval": 0.5,
"priority_mapping": {
"copywriting": 1,
"abnormal_alarm": 1,
"trends_copywriting": 10,
"idle_time_task": 10,
"image_recognition_schedule": 10,
"local_qa_audio": 20,
"comment": 20,
"song": 20,
"read_comment": 20,
"gift": 20,
"follow": 20,
"reread": 30,
"direct_reply": 30
},
"ai_vtuber": {
"api_ip": "127.0.0.1",
"api_port": 8082,
"callback_enable": false
}
}
配置说明:
- device_index: 声卡设备索引值
- random_speed enable: 启用随机播放功能
- random_speed max: 随机播放的最大速度
- random_speed min: 随机播放的最小速度
- speed: 播放速度
- captions_printer enable: 启用对接web字幕打印机
- captions_printer api_ip_port: web字幕打印机服务的API地址
- random_audio_interval enable: 启用随机音频间隔功能
- random_audio_interval max: 随机音频播放的最大间隔
- random_audio_interval min: 随机音频播放的最小间隔
- audio_interval: 音频播放间隔
- priority_mapping: 音频数据优先级(type键值,值越大优先级越高)
- ai_vtuber enable: 启用ai_vtuber回传功能
- ai_vtuber api_ip: ai_vtuber内部http服务ip
- ai_vtuber api_port: ai_vtuber内部http服务端口
1.5600端口冲突
可以修改app.py
和js/index.js
中,搜索5600
,全部改成你的新端口即可。
-
2024-04-29
- 新增 AI Vtuber回传功能,配合闲时任务的待播放音频数 功能
-
2024-03-20
- 配置文件新增优先级配置项,针对各个音频数据类型,可以自定义优先级进行排队,用于实现弹幕优先于文案的这种效果。
-
2024-02-18
- 更换协议为GPL3.0
-
2024-01-21
- 修复传参不携带type键时的插入异常bug
-
2024-01-16
- 支持传入随机速度等参数来控制输出音频效果
- 新增实时刷新的当前播放列表显示框
- 添加音频新增 插入索引字段,可以自定义插入的位置,用于让音频可以插队(默认非文案的音频自动插到文案前面)
- 新增配置项 随机音频间隔和音频间隔,用于控制音频播放的间隔,让机器嘴歇会
-
2024-01-15
- 修改列表为列表的形式,提高了数据可操作性
- 增加了线程锁保护
- 修改暂停、恢复播放功能实现,实现真正意义上的暂停和暂停点恢复播放。
-
2023-11-02
- 给播放线程追加异常捕获,起码不会直接挂了
- 新增web字幕打印机的对接
- 美化UI
-
2023-11-01
- 新增跳过当前播放、清空播放列表和获取播放列表功能
- 优化文档
-
2023-10-31
- 优化UI排版
- 新增暂停/恢复播放功能
- 补充API文档
-
2023-10-29
- 基本功能通过,可以本地调用播放音频
- 删除频率配置,新增播放速度、随机播放开关和上下限配置
-
2023-10-28
- 开发中