# 带API-可自定义输出声卡的音频播放器 **Repository Path**: ikaros-521/audio_player ## Basic Information - **Project Name**: 带API-可自定义输出声卡的音频播放器 - **Description**: 带API接口的音频播放器,可以自定义输出声卡,可通过web配置基本信息 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-11-06 - **Last Updated**: 2024-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 前言 用于做为独立的音频播放器使用。 支持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://github.com/Ikaros-521/audio_player/releases) 迅雷云盘: [https://pan.xunlei.com/s/VNitDF0Y3l-qwTpE0A5Rh4DaA1](https://pan.xunlei.com/s/VNitDF0Y3l-qwTpE0A5Rh4DaA1) 夸克网盘: [https://pan.quark.cn/s/936dcae8aba0](https://pan.quark.cn/s/936dcae8aba0) ## API

添加音频数据到播放列表

使用 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
}
      
  

参数说明:

返回数据:

      
// 成功返回
{"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
  }
}
      
  

配置说明:

# FAQ 1.5600端口冲突 可以修改`app.py`和`js/index.js`中,搜索`5600`,全部改成你的新端口即可。 # 更新日志 - 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 - 开发中