AudioDock:服务器和 NAS 音频播放最棒的软件!🚀🚀🚀

前言

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

github.com/mmdctjj/Aud...

今天就简单介绍下这个项目吧!

往期精彩推荐

AudioDock

AudioDock(声仓)是一款免费开源的音频播放器,

  • 多端支持 💻:包含移动端、web端、桌面端、小程序、电视端!
  • 双模式无缝切换 ♻️:有声书、音乐模式一键无缝切换,记忆不同模式下的播放信息!
  • 支持 docker 部署 📦:可以通过 docker 部署服务端和 web 端!
  • 多用户支持 👥:支持多用户交互联动!
  • 设备接力 📱:支持多设备之间无缝切换!
  • 解析元数据 🖼️:如果是带元信息的歌曲,可以展示歌词、封面等信息!

目前已经完成了移动端、桌面端、web端的开发,正在有节奏的测试中,即将正式发版!

AudioDock 依赖的服务端已经完成了所有功能的支持了。

下面是完整的开发情况:

✅:完成 ❌:未开发/未完成开发 🚫:无设计

功能描述 桌面端 移动端
切换有声书和音乐模式
自动导入数据
播放器功能
歌词展示
专辑、艺术家
聚合搜索
边听边存
多端同步
迷你播放器 🚫
多用户同步播放
播放记录
收藏记录
桌面歌词
和系统交互
TTS 生成有声书
云盘聚合

快速体验

NAS 部署
bash 复制代码
docker pull ctjj/audiodock-api:latest
docker pull ctjj/audiodock-web:latest

然后复制 readme 对应的内容到 nas 项目位置启动即可,

无法拉镜像的小伙伴公众号后台输入:audiodock ,获取链接!

本地运行

准备:

  • 复制 services/api、 packages/db 包 根目录下的 .env.example 文件,修改名称为 .env
  • 修改下面文件路径
ini 复制代码
AUDIO_BOOK_DIR=./music/audio
MUSIC_BASE_DIR=./music/music
CACHE_DIR=./music/cover

然后运行下面的命令,自动打开桌面端

bash 复制代码
nvm use 22
pnpm install
npm run dev

移动端需要进入 /apps/mobile 目录启动:

arduino 复制代码
npx expo run:ios --device
docker 启动

修改 docker-compose 的环境变量 和 volumes:

bash 复制代码
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

根目录下运行构建命令:

css 复制代码
docker-compose build --no-cache
docker-compose up

产品由来

首先我是一名重度的 NAS 用户,一方面是需要将孩子、家人的海量照片存储起来,另一方面我本人也是数据爱好者。

我遇到的最大的问题是没有一款让 NAS 用户用起来舒服的音频播放器!厂家也是在摆烂中,没办法那就自己开发吧!

用心的设计

对于有各种想法的开发者来说,自己开发一款属于自己的产品,无疑是件开心的事情,因为天马行空的想象有天变成了可落地的产品!

所以,AudioDock 无限趋近我心中完美的样子!

歌词滚动展示:

桌面歌词:

mini播放器:

和系统集成:

可以在系统导航栏随意控制!

同步播放:

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

设备接力:

当我在通勤时用手机听歌,回到公司,打开电脑,可以继续听!

激动人心的功能

除了上面基础的功能,我目前正在调研准备下个阶段功能的开发。

TTS 生成有声书

有的时候很喜欢一本书,但是有不想坐着,只想躺着听,找不到合适的工具来满足我的使用场景。

所以,下个阶段努力实现这个功能。

早期调研使用 edge-tts python 库来实现这个基础功能。

鉴于最近 Index TTS 的强势出圈,也打算跟进克隆音色朗读文本的方案!

云盘聚合

我的仓鼠行为很早就出现了,在云盘囤积了各种音乐,为了方便入库,后面也会实现将云盘的音频统一入库。

简单的方案是,通过云盘授权 AList,然后通过 AList 的服务和 AudioDock 服务对接,实现音频自动入库。

未来展望

后续,还会考虑做个小程序,让大家的使用更加方便,如果后面我家里买了大电视,会考虑做个电视端的播放器,这样整个生态就全了!

最后

希望 AudioDock 的出现,可以给 Docker 党、Nas 党带来更多的便利!

往期精彩推荐

相关推荐
Fcy64814 分钟前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满16 分钟前
Linux怎么查看最新下载的文件
linux·运维·服务器
主机哥哥1 小时前
阿里云OpenClaw部署全攻略,五种方案助你快速部署!
服务器·阿里云·负载均衡
珠海西格电力科技2 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
释怀不想释怀2 小时前
Linux环境变量
linux·运维·服务器
zzzsde2 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
qq_297574673 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
70asunflower3 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
全栈前端老曹4 小时前
【MongoDB】Node.js 集成 —— Mongoose ORM、Schema 设计、Model 操作
前端·javascript·数据库·mongodb·node.js·nosql·全栈
神梦流4 小时前
ops-math 算子库的扩展能力:高精度与复数运算的硬件映射策略
服务器·数据库