Diffuse:连接云存储的音乐播放器
一款可连接云端与分布式存储的音乐播放器,提供桌面版和 Web 版,也提供可复用的 Web Components 库。
- 浏览
- 2
- 访问
- 0
- 下载
- 0
- 版本
- v3.5.0
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
Diffuse 是一个音乐播放器,可以连接你的云端 / 分布式存储,从各种来源浏览和播放音频。官方提供网页版,地址是 https://diffuse.sh/ ,同时发布了 Linux、Mac、Windows 的安装包。
除了成品播放器,Diffuse 也是一套框架无关的自定义 DOM 元素(Web Components)集合,可以用来搭建音频播放器、处理音频元数据、列出各种来源的音频文件与流,以及定义用户数据如何保存与同步。它还包含一个 HTML loader,可从本地用户数据缓存、Diffuse 默认集合、HTTP(S) URL 或 AT Protocol URI 加载“interface”,并为其提供称为“facet”的 HTML 片段。数据 schema 以 atproto lexicons 的形式放在仓库的 lexicons 目录中。
主要功能
- 连接云端 / 分布式存储,列出其中的音频文件与流并播放
- 一组可独立使用的前端自定义元素,例如队列引擎
de-queue - 通过
group属性让不同标签页 / frame 中的元素互相通信 - 支持从本地缓存、HTTP(S) URL、AT Protocol URI 加载界面片段
- 内置命令面板与基础主题设置
- 3.5.0 起提供 collections(合集),作为播放列表的替代形式
安装与使用
普通用户:直接访问网页版 https://diffuse.sh/ ,或从 GitHub Releases 页面下载对应平台的安装包(Linux、Mac、Windows)。
开发者可以把自定义元素当普通 DOM 元素使用,例如通过脚本引入队列组件:
<script src="https://diffuse.sh/latest/components/engine/queue/element.js"></script>
<de-queue></de-queue>
也可以通过 JSR 包 @toko/diffuse 引入:
import QueueEngine from "@toko/diffuse/components/engine/queue/element.js"
自行构建
需要先安装 Deno,然后在仓库中运行:
deno run build
deno run serve
项目使用 Deno、Web Components、Web Workers、Signals(alien-signals)、lit-html、music-metadata、Lume 与 ESBuild 构建。自行托管 Web 版时请参考仓库 README。
注意事项
- 从 3.5.0 开始弃用 Google Drive 支持:已有来源仍可使用,但不再能通过界面添加。
- 同一版本移除了 BTFS 支持,并移除了已停止服务的 Fission/Webnative 用户层。
本作品整理自 GitHub 开源项目 icidasset/diffuse,原作者 @icidasset。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v3.5.0当前版本
改善音频播放、处理与错误处理;新增 collections 合集(曲目不可重复、不可排序);加入基础主题设置;弃用 Google Drive 支持、移除 BTFS 支持;改进 WebDAV 与命令面板;新增快进/快退快捷键。
评论