傳送者應用程式

將內容投放到網路接收器時,使用者必須能夠隨時透過寄件者應用程式進行操控。

注意:根據《Google Cast SDK 額外開發人員服務條款》,Cast 媒體應用程式必須使用 SDK 定義的 Play 控制 API (媒體播放訊息) 來控制 Web 接收器上的媒體播放。

寄件者應用程式應於下列區域提供投放控制項:

即使傳送者的應用程式並非來自寄件者應用程式,寄件者應用程式的投放播放狀態和控制項也都必須與網路接收器上的播放變更保持同步。如此一來,系統就能妥善處理多重傳送器指令,以及來自裝置的遙控器、按鈕等播放控制項。

Android

投放對話方塊控制項

迷你控制器

通知控制項

鎖定畫面控制項

iOS

投放對話方塊控制項

迷你控制器

Chrome

投放對話方塊控制項

迷你控制器

 

寄件者音量控制項

傳送者應用程式必須允許使用者透過傳送裝置上的硬體音量按鈕和/或軟體音量滑桿,控制在電視或揚聲器上播放的內容音量。這些控制項可控管下列設定:

  • 針對 Google Cast 裝置 (例如 Chromecast) 傳送到 Google TV 的音訊層級。
  • Google Cast 電視、內建 Android TV 的電視和智慧型揚聲器的實際原生電視/揚聲器音量。

必要
A

  • Android:必須支援硬體按鈕和軟體音量滑桿。
  • iOS:軟體音量滑桿是強制性的。
  • 網頁/Chrome:必須啟用軟體音量滑桿。

B 在行動裝置上,軟體投放滑桿必須位於「投放」對話方塊中 投放時
C 連線至網路接收器後,傳送端應用程式中的音量滑桿必須與目前的 Web Receiver 音量同步,且能保持同步。
D 寄件者應用程式中的音量滑桿必須反映其他寄件者的音量 或 Chromecast 應用程式遙控器。
E 寄件者應用程式不應將音量設為預先定義的等級,而且只應傳遞使用者啟動的音量變更。
F 僅限 Android:使用硬體按鈕變更網路接收器的音量時,按下硬體音量按鈕時,畫面上必須顯示視覺音量滑桿 (左側為「投放」圖示)。注意:Android Gingerbread (2.3 版) 不會顯示「投放」圖示。

最佳做法

  • 音量增量:
    • Android:架構會自動增加音量。
    • iOS 和 Chrome:如果是硬體音量按鈕,使用/接收「網路接收器」裝置完整音量範圍時,音訊裝置/視訊裝置的音量應小於或等於 5%,

寄件者擴展控制器

傳送者應用程式必須提供投放內容的展開控制器。

必要
A 顯示內容標題或圖片來辨識要投放的內容。
B 播放前,請先顯示載入指標和內容標題或圖片。
C 內容開始播放時,請找出網路接收器的狀態。
D 提供相關的控制項。
E 於搜尋列中的左側顯示目前播放時間。
在右端顯示串流的總時間長度 (如果不是的話),如果不是直播,則顯示總長度。
F 隱藏與投放功能無關的控制項。
G 使用者離開展開的控制器時,請勿中斷連線或停止投放。
H 使用者離開網頁時,可以輕鬆回到展開的控制器。

最佳做法

  • 為媒體串流提供播放位置滑桿。
  • 顯示其他有意義的相關內容和中繼資料。
  • 找出媒體串流經過的時間和內容時間長度。

Android

正在載入寄件者內容

正在載入寄件者內容

正在載入接收器內容

正在播放寄件者內容

Web 接收器正在播放內容

iOS

正在載入寄件者內容

正在載入 Web Receiver 內容

正在播放寄件者內容

Web 接收器正在播放內容

Chrome

正在載入寄件者內容

正在載入 Web Receiver 內容

正在播放寄件者內容

Web 接收器正在播放內容

 

寄件者迷你控制器

當使用者離開目前的內容頁面,或展開控制器至寄件者應用程式內的其他檢視畫面時,在投放時應顯示稱為「迷你控制器」的小型持續性控制項。迷你控制器是目前投放畫面的可見提醒,並讓使用者能夠立即存取。

必要
A
C 適用於應用程式的所有畫面 (展開的控制器頁面除外)。
D 輕觸內容區域即可開啟展開的控制器。
E 提供其他可立即採取行動的相關控制項。

最佳做法
為了提供最佳使用者體驗,除了迷你控制器外,還可在投放對話方塊中提供控制項。

Android

傳送者迷你控制器

Web Receiver 內容已暫停

iOS

傳送者迷你控制器

Web Receiver 內容已暫停

Chrome

傳送者迷你控制器

Web Receiver 內容已暫停

 

寄件者通知

必要 (僅限 Android 裝置)
A 使用狀態圖示 (而非「投放」圖示) 做為狀態列中的通知。
B 找出正在投放的內容。例如顯示內容標題或圖片。
C 識別正在投放的網路接收器。
D 提供基本的內容控制項。
E 提供「X」來停止投放,並且中斷動作列與 Web Receiver 的連線。
F 輕觸應用程式標誌、內容標題或圖片後,應開啟寄件者應用程式的展開控制器。

附註

  • 僅限 Android:無法在 iOS 或 Chrome 中導入通知。
  • 在 Android Gingerbread (2.3 版) 中,通知只會顯示應用程式圖示和文字,而不會播放/暫停或停止播放。
  • 詳情請參閱在通知中新增媒體控制項

Android

寄件者通知圖示

Web 接收器正在播放內容

寄件者通知控制項

Web 接收器正在播放內容

 

寄件者鎖定畫面

必要項目 (僅限 Android 裝置)
A 使用內容標題或圖片來辨識投放內容。
B 指明正在投放哪個網路接收器。請注意,上述規定不適用於音樂應用程式。
C 提供播放控制項。
D 透過硬體按鈕提供音量控制選項。

Android 4.4 (KitKat) 以上版本才能使用:

  • 應用程式圖示
  • 藝術作品 (例如專輯封面)
  • 用文字指明內容正在投放的內容 (例如「鋼筋之眼」)。
  • 識別正在投放的網路網路接收器 (例如「客廳」)

Android 4.3 (Jelly Bean) 的必要條件:

  • 藝術作品 (例如專輯封面)
  • 用文字指明內容正在投放的內容 (例如「鋼筋之眼」)。
  • 識別正在投放的網路網路接收器 (例如「客廳」)

附註

  • 僅限 Android:無法在 iOS 或 Chrome 中導入通知。
  • Android 4.1 以上版本必須使用螢幕鎖定功能控制項。
  • 不同的 Android 作業系統版本都有不同的控制項,而鎖定畫面只能容納文字欄位。一般來說,圖形和圖像比內容更有可能描述內容。
  • 音量控制硬體按鈕可在手機鎖定時調整傳送端應用程式的音量。
  • 控制項必須使用架構元件:MediaSessionMediaSessionCompat (4.4 和 4.3 版) 或 Notification (5.0 以上版本)。

Android

寄件者鎖定螢幕控制項

Web 接收器正在播放內容

 

寄件者繼續投放

已連結的傳送端應用程式應在隱含斷線後 (例如網路中斷、休眠或電池耗電等) 恢復連線狀態。

必要
A 應用程式或連線重新啟動時,只要網路接收器工作階段仍在運作,傳送端應用程式應還原與網路接收器的連線。
B 「投放」按鈕應還原為連線狀態。
C 如果使用者在傳送者重新連線之前輕觸「投放」按鈕,系統就會顯示網路接收器裝置清單。當使用者選取目前正在投放的 Web Receiver 時,寄件者應用程式會顯示迷你或展開的控制器。

附註
Web Receiver 應用程式也可能因為電源故障或其他某些與背景無關的內容中斷,而中斷與停止執行。如一般工作階段結束,我們會將這種處理方式視為一般工作階段結束,詳情請參閱寄件者停止投放一節的說明。

Android

選取應用程式

Web 接收器正在播放內容

已恢復投放連線

Web 接收器正在播放內容

iOS

選取應用程式

Web 接收器正在播放內容

已恢復投放連線

Web 接收器正在播放內容

 

寄件者停止投放

投放至電視的內容會持續播放,直到使用者選擇「停止投放」或傳送者投放新的內容為止。當多個傳送者連線到同一個 Web Receiver 時,每個傳送端應用程式都必須在 Cast 對話方塊中顯示 [中斷連線] 按鈕 (而不是 [停止投放] 按鈕)。

必要
A 剩餘的已連線寄件者裝置會與可用的投放控制項保持連線。
B 當寄件者應用程式隱式中斷連線 (例如:傳送者裝置電池耗電,或傳送網路裝置的網路連線中斷時),網路接收器就不會執行任何動作,並從投放裝置中移除投放控制項和通知。傳送者應用程式應追蹤隱含斷線的情況,並在寄件者應用程式再次開啟時,嘗試重新連線至 Web 接收器。

Android

投放對話方塊,中斷連線按鈕

Web 接收器正在播放內容

iOS

投放對話方塊,中斷連線按鈕

Web 接收器正在播放內容

Chrome

投放對話方塊,中斷連線按鈕

Web 接收器正在播放內容

 

 

本設計指南使用的圖片是由 Blender Foundation 提供,並已依據版權或創用 CC 授權提供。

  • 大象的夢想:(c) Copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org
  • Sintel:(c) 版權 Blender Foundation | www.sintel.org
  • 鋼珠眼前:(CC) Blender Foundation | mango.blender.org
  • Big Buck Bunny:(c) Copyright 2008, Blender Foundation / www.bigbuckbunny.org