音訊裝置適用的 Google Cast 僅支援音訊播放。本指南將說明 如何針對純音訊裝置最佳化 Cast 應用程式,並充分運用 減少對記憶體、CPU 和網路頻寬使用率的需求。
支援 Google Cast 音訊版的應用程式必須符合下列條件: 考慮度:
- 音訊裝置適用的 Google Cast 不會顯示影片或圖形。不過 許多音訊裝置都有顯示中繼資料的螢幕,例如播放 狀態 (播放或暫停) 和進度。您的應用程式不得顯示 只會向接收器提供這些重要的使用者資訊關鍵資訊 以及大部分使用者介面,都必須顯示在寄件者上。
- 為了正確執行 Web Receiver 應用程式,請使用適用於音訊裝置的 Google Cast 即使未顯示圖像也是如此。開始時間 裝置可能不支援硬體加速圖形運算, 接收器應用程式應避免使用需要大量圖形的作業 例如色彩漸層、旋轉、Alpha 混合和大型繪圖 像是進度列這類物件每秒超過一次
- 音訊裝置適用的 Google Cast 僅支援 Widevine 數位版權 受到管理 (DRM) 保護的內容。
- 針對大多數適用於音訊裝置的 Google Cast 功能,傳送端應用程式控制項 裝置的最大音量範圍 (例如喇叭),而不只是 電視的音訊來源輸入音量 (和 Chromecast 裝置一樣)。
- 除了透過傳送端裝置控製播放之外 (包括手機、 例如,應用程式可能需要提供,才能使用 裝置自有的控制器,例如遙控器、裝置端按鈕 外部遠端應用程式。
- Google Cast 音訊裝置可能支援顯示內容中繼資料 具備小型 LCD 螢幕的 HDMI 輸出裝置 (適用於單件式環繞劇院或影音設備) 或外部遠端應用程式,實際情況取決於 裝置的使用者介面。
開發
開發支援 Google Cast 音訊廣告的投放應用程式第一步。 就是開發影音專用的 Cast 應用程式,確保其可在 Chromecast。本文假設您已開發並測試這類應用程式。
應用程式可能同時支援音訊影片和只能播放音訊的裝置。重點是 並採取適當措施來確保 整體使用經驗
例如,雙視訊和音訊應用程式 (例如播放本機/NAS 檔案) 應用程式) 應該能將內容投放到純音訊裝置,以支援 播放音訊檔案,但應用程式不允許使用者傳送影片檔案 投放到純音訊裝置應用程式可使用 適用於寄件者的裝置功能 API ,判斷內容適合該裝置。
如要支援 Google Cast 音訊版功能,應用程式必須執行下列步驟:
僅支援音訊:串流播放音樂和音訊檔案、電台等。 不得串流至 Web Receiver 應用程式,不得為影片串流。另外,請避免 串流圖形和圖片,以縮短應用程式啟動時間 以及記憶體用量請參閱下方的「記憶體使用指南」。
在 Cast 音訊裝置和一般 Chromecast 上正常運作。
裝置功能
應用程式可透過 裝置功能 API,可透過裝置本身或傳送者取得 或接收器 API
裝置 HTTP 標頭
投放裝置在測試期間提供的 CAST-DEVICE-CAPABILITIES
HTTP 標頭
應用程式啟動描述的是裝置功能。裝置傳送要求
傳送至代管 Web Receiver 應用程式的伺服器的標頭
純音訊裝置指的是
CAST-DEVICE-CAPABILITIES: {"display_supported":false}
。
伺服器收到來自裝置的要求後,您就可以使用 以便將請求重新導向至 Web Receiver 應用程式 最適合用於音訊裝置
網路接收端 API
呼叫 CastReceiverManager.getDeviceCapabilities()
即可取得相同的裝置功能物件
Web Receiver 應用程式載入後
詳情請參閱裝置功能 可能不準確或不適當
寄件者 API
每個 Cast 傳送端 API 皆具備裝置功能資訊。 可讓傳送者應用程式決定要傳送給接收端的媒體內容類型。 如果您的應用程式同時支援音訊和視訊,可避免將影片內容傳送到 僅支援音訊的裝置。此外,應用程式可以使用 根據設計檢查清單所述,提供適合裝置的螢幕體驗。 請參閱下列寄件者適用的裝置功能 API:
- Android:CastDevice.hasCapabilities
- iOS:deviceCapabilities
- Chrome:chrome.cast.Capability
記憶體使用指南
在音訊裝置上執行的網路接收端應用程式,必須按照下列方式管理記憶體用量:
- 避免下載或使用任何圖片或圖像資源,以減少記憶體 ,並縮短開始播放前所需等待的時間。
- 使用媒體來源擴充功能 (MSE) 時,應用程式必須限制串流 也就是 2 MB如果使用媒體播放器庫 (MPL),應用程式的 串流緩衝區空間已由 MPL 定義。
- 使用 HTMLMediaElement 時,系統會定義應用程式的串流緩衝區大小 計算的預測值將音訊位元率限制為每秒 2 MB 第二種是支援上述所有轉碼器 支援的媒體 (最高 48KHz/16 位元)。
音量控制項
針對大多數適用於 Google Cast 的音訊裝置,傳送者應用程式可控制 而不是只有音訊來源輸入音量。 Chromecast 裝置。也就是說,音量變更增量必須小於 音訊型應用程式。請參閱下列文件,瞭解如何提供 在應用程式中調整音量:
裝置控制
音訊裝置的 Google Cast 可能有專屬的播放控制項 (例如
按鈕、遙控器)。這類像素會使用針對
urn:x-cast:com.google.cast.media
命名空間,如
媒體播放訊息:控製播放
在接收方應用程式上進行切換接收方應用程式必須支援
才能支援裝置的播放控制項。
此外,您的寄件者應用程式應支援「寄件者傳送給寄件者的訊息」功能。 換言之,如果使用者透過裝置控制項變更媒體狀態, 傳送方應用程式可接收來自接收器的狀態訊息,並更新 UI 。
裝置螢幕
音訊裝置專用 Google Cast 的裝置可能沒有 LCD 螢幕,或者 顯示媒體中繼資料的裝置專用控制應用程式。你的接收器 應用程式必須提供所有音軌的中繼資料,並確保其保持同步 與目前播放的內容一併播放,以確保中繼資料顯示 應用程式才能正確顯示如果您的應用程式使用自訂中繼資料 也必須提供標準音訊中繼資料 (曲目名稱、藝人姓名、專輯) 標題等)。
接收端在載入媒體時,會從傳送者取得中繼資料。於 傳送端應用程式,且您可以使用指令在接收端載入媒體,您必須 指定下方所述的欄位, Google Cast 音訊裝置。使用下列 API:
Android
MediaMetadata
合作對象:MEDIA_TYPE_MUSIC_TRACK
和:iOS
GCKMediaMetadata
合作頻道:GCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
和:Chrome
MediaInfo
搭配MusicTrackMediaMetadata
和:
如果 Cast 應用程式在接收器或雲端管理媒體佇列,
Web Receiver 必須使用
urn:x-cast:com.google.cast.media
命名空間,這樣所有寄件者都會
同步處理。
註冊
您必須註冊 Google Cast 音訊裝置,才能進行測試及註冊 您的應用程式支援 Google Cast 的音訊裝置,方法是使用 Google Cast SDK 開發人員控制台。
,瞭解如何調查及移除這項存取權。如果是未發布的應用程式 (例如用於測試的應用程式),請務必一併選取 選項,方便應用程式探索純音訊裝置 僅支援音訊的裝置。
Google Cast 音訊 2.0 版本
Google Cast 音訊版 (GC4A) 2.0 是新一代的 Cast 音訊平台 鎖定記憶體不足的裝置,擴大 才能串流播放內容GC4A 2.0 指定音訊平台,因此 Web API 會配合無螢幕裝置的大小調降。GC4A 2.0 即將導入 以及支援投放功能的現有揚聲器
測試和偵錯
由於所有支援的喇叭都將改用 GC4A 2.0,因此請務必 音訊應用程式開發人員在 GC4A 2.0 上測試應用程式。您可以測試 Cast 應用程式 GC4A 2.0 (生產 Bose Wi-Fi 喇叭)、JBL Charge 5 Wi-Fi、JBL Authentics, Cambridge Audio, Teuful Motiv Home, LG 2024 Soundbars。
GC4A 2.0 不支援 Chrome Remote Debugger。如要在 應用程式,Google 建議您使用 Cast 偵錯記錄器。
建議的基本測試案例
建議您測試 GC4A 2.0 上的所有應用程式功能。請務必附上 測試播放所有媒體類型 (Podcast、串流等)、暫停、拖曳 略過、變更播放清單、停止投放及重新連線
支援的 API
GC4A 2.0 支援下列 API:
- HTML
- JavaScript ECMA 6
- DOMParser
- XMLSerializer
- 文件和子類別
- DocumentFragment
- HTMLMediaElement 和HTMLAudioElement
- HTMLVideoElement (只能播放音訊內容)
- HTMLScriptElement
- HTMLBaseElement
- HTMLTemplateElement
- 自訂元素
- 陰影 DOM
- 指令碼模組 / 非同步 / 延遲
- 擷取 / XHR
- WebSocket
- MessagePort
- Cookie
- MSE (媒體來源額外資訊)
- EME (加密媒體擴充功能)
- 本機 / 工作階段儲存空間
GC4A 2.0 不支援:
- 動態模組匯入 (將於 2024 年新增)
- CSS
- IFrame
- TextTracks
聯絡人
請聯絡 gc4a-support-external@google.com 表示 需要協助設定測試,或無法使用 Bose 喇叭。