DSH Music Player:在 Web UI 里播放本地曲库

前言

在 DSH 裏寫提示詞、跑會話時,很多人習慣開系統播放器或瀏覽器標籤頁放歌。歌和會話分在兩個窗口,切面板時還要自己記住進度。社區插件 dsh-music-player(維護者 daKeLinya0001,GitHub 倉庫 daKeLinya0001/dsh-music-player,當前版本 1.1.0,MIT)把播放器和曲庫嵌進 DSH Web UI:音頻落在瀏覽器 IndexedDB,不上傳外部服務,切換側邊欄面板時播放可繼續。下文按「是什麼 → 能做什麼 → 怎麼裝 → 怎麼用 → 注意點」說明。

插件定位

這是一個運行在 DSH Web UI 中的本地音樂播放器 bundle,包名爲 @dakelinya0001/dsh-music-player。客戶端邏輯集中在 client.js,通過 Cordis slot 註冊側邊欄入口和主面板;Host 側 index.js 爲空實現。插件在 SkillHub 目錄中歸類爲「聯網工具」,但從 README 描述看,其核心是本地導入與 Web Audio 播放,不連接音樂流媒體、不上傳音頻。

核心功能

音樂庫與格式

  • 通過文件選擇器導入,或把音頻文件拖到播放器面板。
  • 曲庫支持搜索、單曲刪除;自動恢復上次播放曲目(不會自動開始播放)。
  • 數據保存在 IndexedDB(庫名 dsh-music-player),刷新頁面後仍保留;切換 DSH 其他面板時音樂繼續播放。

支持的擴展名包括:MP3、M4A、AAC、WAV、FLAC、OGG、OGA、Opus、WEBA、WebM、AIFF/AIF、ALAC、WMA。實際能否解碼取決於當前 Chromium/Web Audio 對格式的支持。

播放控制

播放 / 暫停、上一首 / 下一首、進度條跳轉、音量與靜音,以及不循環、列表循環、單曲循環三種模式;界面顯示當前時間與總時長。

界面與可視化

  • 右側黑膠唱片與唱針動畫(播放時唱片轉動、唱針落下;暫停時緩慢停下並回位);唱片顏色、中心標籤圖可自定義,默認純白標籤。
  • 32 根實時音頻頻譜柱(AnalyserNode),可在播放器面板內顯示,也可投射到會話工作區背景(pointer-events: none,不擋輸入與點擊)。
  • 「特效」頁可統一調節唱片粒子、頻譜柱粒子與光暈的數量、大小和顏色;粒子數量最高 200,文檔註明可能影響性能。

設置與快捷鍵

全屏設置面板,選項自動保存。默認快捷鍵(僅在音樂播放器面板打開且焦點不在輸入框等情況時生效):

快捷鍵 功能
Space 播放 / 暫停
A 上一首
D 下一首

可在設置中改鍵;暫不支持 Ctrl 等組合鍵。設置全屏打開時不會誤觸播放器快捷鍵。

安裝與啓用

前置條件

  • 已安裝並啓用 DSH,且當前使用 Web UI。
  • 瀏覽器支持 IndexedDB、Web Audio、backdrop-filter 和 color-mix。

獲取源碼

插件是本地 DSH bundle,倉庫根目錄即安裝目標,無預編譯構建步驟。可從 GitHub 頁面 Code → Download ZIP 解壓到本地;解壓後包含 package.json 的那一層即爲 target(若使用 Release ZIP,文檔說明 music-player 目錄亦可作爲 target)。

裝入 DSH

  1. 在 DSH 插件管理中選擇從本地目錄安裝。
  2. target 指向倉庫根目錄(含 package.json)。
  3. 啓用 bundle:@dakelinya0001/dsh-music-player。
  4. 刷新 DSH 頁面。

也可通過 DSH 的 plugin_manager 工具:

action: install_bundle
target: <倉庫根目錄的絕對路徑>

安裝後確認該 bundle 在 Profile 的 bundle 列表中爲啓用狀態。刷新頁面後,點擊左側邊欄音樂圖標打開播放器。

典型用法

導入並播放

  1. 打開音樂面板,點擊「導入音樂」選一個或多個文件,或直接拖入面板。
  2. 在曲庫中點擊曲目開始播放;底部「正在播放」區域可切換上下首、循環模式、進度與音量。

調整頻譜與工作區背景

在右上角齒輪打開全屏設置。常用項包括:

  • 「律動頻譜」:播放器面板內頻譜柱開/關。
  • 「在工作區顯示頻譜柱」:會話背景頻譜開/關(需有當前曲目且在會話工作區;位置可選輸入框上方或緊貼底部)。
  • 頻譜柱最大高度(默認 200,範圍 0–300)、跳動速度(默認 35)、顏色與透明度等;每項可單獨重置,也可一鍵「重置所有設置」(不刪曲庫、不改當前曲目與音量)。

自定義快捷鍵

設置中的「鍵盤快捷鍵」:點擊對應按鈕後按下新鍵即保存;若與另一動作衝突會自動交換。

適用場景與注意

適合誰: 希望在同一 DSH Web 界面內管理本地試聽曲、長會話時保持背景音樂、並需要頻譜與工作區氛圍效果的用戶。

數據與隱私: 不連接音樂服務、不上傳音頻;導入文件以 Blob 形式存在 IndexedDB。設置、音量、循環模式等輕量狀態在 localStorage(鍵名前綴 dsh-music-player:)。清除站點數據、Profile 或 IndexedDB 會導致曲庫丟失。

權限與安全: 插件以當前 DSH 進程/瀏覽器上下文運行;安裝前應閱讀源碼與 MIT 許可證,僅從可信來源獲取 bundle。package.json 中 private: false 表示未限制 npm 發佈語義,與「從 GitHub 下載本地安裝」並行說明於 README。

性能: 粒子總數、雙 canvas 動畫與 requestAnimationFrame 同在;低配機器可把「粒子數量」調低或關閉工作區頻譜。

結尾

dsh-music-player 把本地曲庫、播放控制和可視化收進 DSH 側邊欄,數據留在本機 IndexedDB,適合「邊用 Harness 邊聽自己的文件」這類需求。更多信息見 SkillHub 目錄頁 與 GitHub 倉庫(README 文檔更新日期 2026-11-08)。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜