ap_ds:轻量级 Python 音频库
2.5MB 完成音频播放与元数据解析,无需外部解码器
v4.0.1
仅 2.5MB
跨平台 W/M/L
1. 项目概况
ap_ds 是一个轻量级(2.5MB)的 Python 音频库,用于播放和解析 MP3、FLAC、OGG 与 WAV 文件。它不依赖外部 Python 包,仅使用 Python 标准库与系统自带的 SDL2。
v3.0.0 LTS 长期支持版本
首个长期支持版本,提供 五年维护与免费技术支持,适合对依赖稳定性有要求的项目。
2. 核心能力
体积
Windows 2.5MB · macOS 3.36MB · Linux 视发行版而定
格式支持
MP3 / FLAC / OGG / WAV
元数据解析
WAV / FLAC 100% 准确
无阻塞播放
不阻塞 GUI 主线程
体积对比
- ap_ds Windows: 2.5MB
- macOS: 3.36MB
- Linux: 动态链接 ~50KB
- FFmpeg: ≥160MB
- Pygame + 其他依赖: 体积与功能取舍不同
为什么体积能够这么小
- 专注播放与解析,不做编辑或转码
- 基于工业级 SDL2
- 按需释放资源
- 跨平台 W / M / L
3. 方案对比
方案一:Pygame 的音长获取
# Pygame 在非 WAV 格式下不可靠的音长获取
my_sound = pygame.mixer.Sound('my_song.mp3')
total_length = my_sound.get_length() # 仅 WAV 可靠
Pygame 的
Sound.get_length() 仅对 WAV 格式准确,MP3 / OGG / FLAC 会返回无效值。
方案二:FFmpeg 打包体积
| 方案 | 能力 | 体积 |
|---|---|---|
| ffplay.exe | 音长获取 | ≈80MB |
| ffprobe.exe | 元数据解析 | ≈80MB |
| ffmpeg.exe | 转码能力 | ≈80MB |
使用 FFmpeg 需随程序分发可执行文件,使 Python 安装包体积增加约 160MB。
方案三:ap_ds 的做法
高清突破
- 2.5MB 完成 160MB 的工作
- 不依赖第三方 GUI 框架
- 精确时长查询
- 非阻塞播放
- AID 音频句柄
- SDL2 后端
- 单文件 C 扩展跨平台
4. 安装与使用
pip install ap_ds
基础示例
from ap_ds import AudioLibrary
lib = AudioLibrary()
aid = lib.play_from_file("music.mp3")
lib.pause_audio(aid)
lib.seek_audio(aid, 30.5)
duration = lib.stop_audio(aid)
DAP 音频列表(v2.3.0+)
aid1 = lib.play_from_file("song1.mp3")
recordings = lib.get_dap_recordings()
lib.save_dap_to_json("my_playlist.ap-ds-dap")
淡入淡出效果(v2.4.0+)
# 2秒淡入
lib.fadein_music(aid, loops=-1, ms=2000)
# 3秒淡出
lib.fadeout_music(ms=3000)
# 查询播放状态
if lib.is_music_playing():
print("音乐播放完毕")
5. 开源许可证
本项目不使用 MIT 许可证
ap_ds 采用自研的 DVS Audio Library (ap_ds) Open Source License(简称 AP_DS-OSL)2.0。
您可以
- 商业使用
- 修改代码
- 闭源集成
- 销售解决方案
- 云服务部署
您不可以
- 使用原始品牌名称
- 删除版权声明
- 用于非法用途
- 专利侵权诉讼
您应该
- 保留版权声明
- 标注来源归属
- 报告安全问题
- 修改版本用独立品牌
详细许可证请查看 AP_DS_LICENSE.MD 文件。
6. 常见问题
问:公司可以将其集成到商业产品中吗?
完全可以,无需付费、无需通知、无需授权。
问:我可以修改并重新分发吗?
可以,但必须使用独立品牌、保留版权、标注来源、提供维护者声明。
问:我必须开源我的修改吗?
不需要,您可以闭源分发。
问:在云服务中使用需要付费吗?
不需要,但欢迎贡献代码。
问:技术支持收费吗?
永久免费技术支持,通过 GitCode Issues 或邮件联系。
7. 联系与支持
授权咨询
me@dvsyun.top 或 dvs6666@163.com
7个工作日内回复
技术支持
GitCode Issues · 官方文档 · 邮件支持
永久免费
8. 最新公告
加载中...