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 党带来更多的便利!

往期精彩推荐

相关推荐
lifewange2 小时前
测试场景 Linux 命令速查表
linux·运维·服务器
未知原色3 小时前
web worker使用总结(包含多个worker)
前端·javascript·react.js·架构·node.js
就叫飞六吧3 小时前
JSONPath“隔空取物”思想,直击JSON深处的目标字段
服务器·windows·json
姚青&3 小时前
Linux 命令介绍以及帮助命令介绍
linux·运维·服务器
遇见火星3 小时前
详解 Linux 中的 /etc/fstab 文件
linux·运维·服务器
2301_773730313 小时前
网络编程—TCP传输控制协议
服务器·网络·tcp/ip
TG:@yunlaoda360 云老大3 小时前
华为云国际站代理商HiLens的技术优势对跨境客户有哪些具体帮助?
服务器·数据库·华为云
IsPrisoner3 小时前
从 Docker 到 Kubernetes:一次“工程视角”的 K8s 核心概念深度梳理
docker·容器·kubernetes
TG:@yunlaoda360 云老大3 小时前
华为云国际站代理商DAS的跨境合规适配在游戏出海场景中的应用
服务器·网络·游戏·华为云