前几天介绍了我开发 AudioDock 项目的一些问题。好多小伙伴很感兴趣这个项目。
https://github.com/mmdctjj/AudioDock

桌面端
今天就简单介绍下这个项目吧!
AudioDock 是一款免费开源的音频播放器,
AudioDock logo
目前已经完成了移动端、桌面端、web端的开发,正在有节奏的测试中,即将正式发版!
AudioDock 依赖的服务端已经完成了所有功能的支持了。
下面是完整的开发情况:
✅:完成 ❌:未开发/未完成开发 🚫:无设计
功能描述 | 桌面端 | 移动端 |
|---|---|---|
切换有声书和音乐模式 | ✅ | ✅ |
自动导入数据 | ✅ | ✅ |
播放器功能 | ✅ | ✅ |
歌词展示 | ✅ | ✅ |
专辑、艺术家 | ✅ | ✅ |
聚合搜索 | ✅ | ✅ |
边听边存 | ❌ | ❌ |
多端同步 | ✅ | ✅ |
迷你播放器 | ✅ | 🚫 |
多用户同步播放 | ✅ | ✅ |
播放记录 | ✅ | ✅ |
收藏记录 | ✅ | ✅ |
桌面歌词 | ✅ | ❌ |
和系统交互 | ✅ | ✅ |
TTS 生成有声书 | ❌ | ❌ |
云盘聚合 | ❌ | ❌ |
docker pull ctjj/audiodock-api:latest
docker pull ctjj/audiodock-web:latest
然后复制 readme 对应的内容到 nas 项目位置启动即可,
❝无法拉镜像的小伙伴公众号后台输入:audiodock ,获取链接!
准备:
AUDIO_BOOK_DIR=./music/audio
MUSIC_BASE_DIR=./music/music
CACHE_DIR=./music/cover
然后运行下面的命令,自动打开桌面端
nvm use 22
pnpm install
npm run dev
移动端需要进入 /apps/mobile 目录启动:
npx expo run:ios --device
修改 docker-compose 的环境变量 和 volumes:
environment:
- AUDIO_BOOK_DIR=/audio
- MUSIC_BASE_DIR=/music
- CACHE_DIR=/covers
- DATABASE_URL=file:/data/dev.db
# 挂载数据文件和缓存,使用 Docker 命名卷更安全
volumes:
- ./audio:/audio
- ./music:/music
- ./covers:/covers
- api-db:/data
根目录下运行构建命令:
docker-compose build --no-cache
docker-compose up
首先我是一名重度的 NAS 用户,一方面是需要将孩子、家人的海量照片存储起来,另一方面我本人也是数据爱好者。
我遇到的最大的问题是没有一款让 NAS 用户用起来舒服的音频播放器!厂家也是在摆烂中,没办法那就自己开发吧!
对于有各种想法的开发者来说,自己开发一款属于自己的产品,无疑是件开心的事情,因为天马行空的想象有天变成了可落地的产品!
所以,AudioDock 无限趋近我心中完美的样子!
歌词滚动展示:

歌词滚动展示
桌面歌词:

桌面歌词
mini播放器:

mini播放器
和系统集成:

和系统集成
可以在系统导航栏随意控制!
同步播放:

同步播放请求
不同用户之间可以互相邀请同步播放,同意后播播邀请者当前的音频和列表,给生活多一点分享的乐趣!
设备接力:

设备接力
当我在通勤时用手机听歌,回到公司,打开电脑,可以继续听!
除了上面基础的功能,我目前正在调研准备下个阶段功能的开发。
有的时候很喜欢一本书,但是有不想坐着,只想躺着听,找不到合适的工具来满足我的使用场景。
所以,下个阶段努力实现这个功能。
早期调研使用 edge-tts python 库来实现这个基础功能。
鉴于最近 Index TTS 的强势出圈,也打算跟进克隆音色朗读文本的方案!
我的仓鼠行为很早就出现了,在云盘囤积了各种音乐,为了方便入库,后面也会实现将云盘的音频统一入库。
简单的方案是,通过云盘授权 AList,然后通过 AList 的服务和 AudioDock 服务对接,实现音频自动入库。
后续,还会考虑做个小程序,让大家的使用更加方便,如果后面我家里买了大电视,会考虑做个电视端的播放器,这样整个生态就全了!
希望 AudioDock 的出现,可以给 Docker 党、Nas 党带来更多的便利!欢迎小伙伴给我 star!!!
https://github.com/mmdctjj/AudioDock