第 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. 開啟 Tools → Options。
  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 是具體的控制指令碼,透過 Command 與 Parameter 組合達成功能。

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

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

常見錯誤

錯誤現象 可能原因 解決方法
瀏覽器連不上 localhost:52199 Media Network 未開啟 檢查 Tools → Options → Media 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 完整教學》之濾波器命名規範。