第 14 章:MCC 與 MCWS——把 JRiver 自動化

對於需要將 JRiver 整合進智慧家居系統(如 Home Assistant)或透過外部腳本控制播放的進階使用者,直接操作 UI 介面效率過低。透過 Media Center Web Service (MCWS) 與 Media Center Control (MCC) 碼,可以使用 HTTP 請求遠端操控播放狀態、切換 Zone 或調整音量。

14.1 Media Network 與 MCWS

MCWS 是 JRiver 提供的 REST 風格 API 介面,讓外部程式能透過網路協議與 JRiver 溝通。

為了讓外部裝置能下指令,必須先啟用 Media Network 功能。

  1. 開啟 ToolsOptions
  2. 導覽至 Media Network
  3. 勾選 Enable Media Network
  4. 確認 HTTP port 預設為 52199
啟用 Media Network 設定
啟用 Media Network 設定

驗證連線狀態

若要確認 MCWS 是否正常運作,可在瀏覽器或終端機輸入以下網址: http://localhost:52199/MCWS/v1/Alive

若連線成功,頁面會回傳包含 RuntimeGUID 等資訊的 XML 內容。

14.2 MCC 命令

MCC (Media Center Control) 是 JRiver 的指令集。在 MCWS 框架下,下達 MCC 指令的標準 URL 格式為: /MCWS/v1/Control/MCC?Command=<指令碼>&Parameter=<參數>

常用 MCC 碼表

指令碼(Command)決定執行什麼動作,參數(Parameter)則提供額外資訊(如 Zone 編號或音量值)。

指令碼 功能 參數 (Parameter) 說明
10000 Play/Pause 切換播放/暫停狀態
10001 Play 強制執行播放
10002 Stop 停止播放
10003 Next 跳至下一首
10004 Previous 跳回前一首
10011 Set Zone Zone 索引值 切換目前的控制 Zone
10016 Show DSP Studio 開啟 DSP Studio 視窗(Mac 版無效)
10017 Mute 靜音切換
10018 Volume Up 音量增加
10019 Volume Down 音量減少
10020 Volume Set 數值 設定特定音量值

14.3 實例三則

以下實例假設 JRiver 運行在 macOS 本機,使用 curl 工具下指令。若要實作自動化,可將這些指令封裝成 shell alias。

實例一:切換播放/暫停

解決問題:在不開啟 JRiver 視窗的情況下,快速控制音樂暫停或播放。

curl "http://localhost:52199/MCWS/v1/Control/MCC?Command=10000"

回應:<Response Status="OK">

實例二:切換 Zone

解決問題:將控制權從「書房」切換至「客廳」Zone。

# 假設 Zone 2 為客廳
curl "http://localhost:52199/MCWS/v1/Control/MCC?Command=10011&Parameter=2"

實例三:設定精確音量

解決問題:避免使用 Volume Up/Down 緩慢調整,直接設定至目標分貝。

# 設定音量至 50
curl "http://localhost:52199/MCWS/v1/Control/MCC?Command=10020&Parameter=50"

14.4 界線與坑

在實作自動化時,請注意以下限制,避免花時間在無效的指令上。

Mac 版 UI 命令失效

在 macOS 環境下,MCWS 僅能控制「後台邏輯」(如播放、音量、Zone),無法觸發「前景 UI」動作。 * 失效實測:使用指令 10016 (Show DSP Studio) 或 10013 (Show) 等 UI 類命令,雖然回傳 Status="OK",但 Mac 端的 JRiver 視窗不會有任何反應。 * 結論:MCWS 適合播放控制,不適合用來開啟設定視窗。

密碼保護

若在 Media Network 設定中開啟了密碼保護,所有 HTTP 請求必須包含認證資訊,否則會回傳 401 Unauthorized。

效能與延遲

MCWS 採 HTTP 輪詢,雖然反應快,但若在短時間內發送數百次請求(例如用來做精確的音量漸變),可能會導致 JRiver 暫時無回應。

本章重點整理

  • MCWS 是 JRiver 的 Web API 接口,預設連接埠為 52199

  • MCC 是具體的控制指令碼,透過 CommandParameter 組合達成功能。

  • 常用碼10000 (播放/暫停)、10011 (切換 Zone)、10020 (設定音量)。

  • Mac 限制:無法透過 MCWS 開啟 UI 視窗(如 DSP Studio)。

常見錯誤

錯誤現象 可能原因 解決方法
瀏覽器連不上 localhost:52199 Media Network 未開啟 檢查 ToolsOptionsMedia Network
下達 10016 但 DSP Studio 沒打開 使用 macOS 系統 該功能在 Mac 版 MCWS 中無效
回傳 Status="OK" 但音量沒變 Zone 設定錯誤 先使用 10011 切換到正確的輸出 Zone
回傳 401 錯誤 開啟了密碼保護 在 HTTP 請求中加入認證資訊

資料來源

  • JRiver Wiki: MCWS (Media Center Web Service)
  • JRiver DevZone: MCCommands.h 標頭檔
  • 相關章節:第 13 章(關於 Zone 的定義與設定)
  • 互連參考:如需將量測後的濾波器自動化切換,請參閱《Focus Fidelity 完整教學》之濾波器命名規範。