GCKUIMediaController 類別

GCKUIMediaController 類別參考資料

總覽

可用於調整或顯示 Cast 接收器媒體播放狀態的使用者介面檢視控制器。

呼叫應用程式會設定適當的屬性,使用控制器註冊其媒體相關 UI 控制項。控制器接著會向接收器發出適當的媒體指令,以回應控制項的觸控事件,並根據接收端的狀態資訊和媒體中繼資料更新控制項。控制器會根據目前的工作階段和媒體播放器狀態,自動啟用及停用使用者介面控制項。要求處理期間,還會停用所有控制項。

如要瞭解委派通訊協定,請參閱 GCKUIMediaControllerDelegate

辛策
3.0

沿用 NSObject。

執行個體方法摘要

(instancetype) - init
 初始化執行個體。更多...
 
(void) - bindLabel:toMetadataKey:
 UILabel 繫結至中繼資料鍵。更多...
 
(void) - bindLabel:toMetadataKey:withFormatter:
 UILabel 繫結至中繼資料鍵。更多...
 
(void) - bindTextView:toMetadataKey:
 UITextView 繫結至中繼資料鍵。更多...
 
(void) - bindTextView:toMetadataKey:withFormatter:
 UITextView 繫結至中繼資料鍵。更多...
 
(void) - bindImageView:toImageHints:
 UIImageView 繫結至 GCKUIImageHints 例項。更多...
 
(void) - unbindView:
 解除繫結。更多...
 
(void) - unbindAllViews
 解除繫結所有繫結的檢視畫面。更多...
 
(GCKMediaRepeatMode- cycleRepeatMode
 在週期中,將佇列的重複模式變更為下一個模式:更多...
 
(void) - selectTracks
 顯示媒體音軌選取 UI 的便利方法。更多...
 

屬性摘要

id< GCKUIMediaControllerDelegatedelegate
 GCKUIMediaController 接收通知的委任對象。更多...
 
GCKSessionsession
 與這個控制器相關聯的工作階段。更多...
 
BOOL mediaLoaded
 接收器目前是否已載入 (或載入) 媒體。更多...
 
BOOL hasCurrentQueueItem
 佇列中目前是否有項目。更多...
 
BOOL hasLoadingQueueItem
 佇列中是否有預先載入的項目。更多...
 
GCKMediaPlayerState lastKnownPlayerState
 已知的最新媒體播放器狀態。更多...
 
NSTimeInterval lastKnownStreamPosition
 最新已知的媒體串流位置。更多...
 
UIButton * playButton
 「播放」按鈕。更多...
 
UIButton * pauseButton
 「暫停」按鈕更多...
 
GCKUIButtonplayPauseToggleButton
 「播放/暫停」切換鈕更多...
 
GCKUIPlayPauseToggleControllerplayPauseToggleController
 「播放/暫停」切換控制器。更多...
 
UIButton * stopButton
 「停止」按鈕更多...
 
GCKUIButtonforward30SecondsButton
 可在目前播放的媒體項目中快轉 30 秒的按鈕。更多...
 
GCKUIButtonrewind30SecondsButton
 這個按鈕會在使用者目前正在播放的媒體項目中倒轉 30 秒。更多...
 
UIButton * pauseQueueButton
 可於目前項目播放完畢時暫停播放佇列的按鈕。更多...
 
UIButton * nextButton
 「下一步」按鈕。更多...
 
UIButton * previousButton
 「上一頁」按鈕。更多...
 
GCKUIButtonrepeatModeButton
 可循環播放可用佇列重複模式的按鈕。更多...
 
UISlider * streamPositionSlider
 顯示及變更目前串流位置的滑桿。更多...
 
UIProgressView * streamProgressView
 顯示目前串流進度的檢視畫面。更多...
 
UILabel * streamPositionLabel
 顯示目前串流位置的標籤,以分鐘和秒為單位。更多...
 
UILabel * streamDurationLabel
 顯示目前串流持續時間的標籤 (以分鐘和秒為單位)。更多...
 
UILabel * streamTimeRemainingLabel
 顯示剩餘串流時間 (持續時間減去位置) 的標籤,以分鐘和秒為單位。更多...
 
GCKUIStreamPositionControllerstreamPositionController
 串流安裝控制器。更多...
 
BOOL displayTimeRemainingAsNegativeValue
 是否要將剩餘串流時間顯示為負值,例如「-1:23:45」。更多...
 
UIButton * tracksButton
 用於選取音軌和/或隱藏式輔助字幕的按鈕。更多...
 
UILabel * smartSubtitleLabel
 顯示目前載入媒體字幕的標籤。更多...
 
UIActivityIndicatorView * mediaLoadingIndicator
 表示媒體處於載入狀態的活動指標檢視畫面。更多...
 

方法說明

- (instancetype) init

初始化執行個體。

- (void) bindLabel: (UILabel *)  label
toMetadataKey: (NSString *)  key 

UILabel 繫結至中繼資料鍵。

檢視畫面會顯示對應中繼資料欄位目前的值。

如需預先定義的中繼資料鍵清單,請參閱 GCKMediaMetadata

Parameters
labelThe UILabel that will display the value.
keyThe metadata key.
- (void) bindLabel: (UILabel *)  label
toMetadataKey: (NSString *)  key
withFormatter: (GCKUIValueFormatter formatter 

UILabel 繫結至中繼資料鍵。

檢視畫面會顯示對應中繼資料欄位目前的值。

如需預先定義的中繼資料鍵清單,請參閱 GCKMediaMetadata

Parameters
labelThe UILabel that will display the value.
keyThe metadata key.
formatterA block that will produce the desired string representation of the value.
- (void) bindTextView: (UITextView *)  textView
toMetadataKey: (NSString *)  key 

UITextView 繫結至中繼資料鍵。

檢視畫面會顯示對應中繼資料欄位目前的值。

如需預先定義的中繼資料鍵清單,請參閱 GCKMediaMetadata

Parameters
textViewThe UITextView that will display the value.
keyThe metadata key.
- (void) bindTextView: (UITextView *)  textView
toMetadataKey: (NSString *)  key
withFormatter: (GCKUIValueFormatter formatter 

UITextView 繫結至中繼資料鍵。

檢視畫面會顯示對應中繼資料欄位目前的值。

如需預先定義的中繼資料鍵清單,請參閱 GCKMediaMetadata

Parameters
textViewThe UITextView that will display the value.
keyThe metadata key.
formatterA block that will produce the desired string representation of the value.
- (void) bindImageView: (UIImageView *)  imageView
toImageHints: (GCKUIImageHints *)  imageHints 

UIImageView 繫結至 GCKUIImageHints 例項。

系統會使用目前已安裝的 UIImagePicker 從檢視區塊的中繼資料選取圖片。

Parameters
imageViewThe UIImageView that will display the selected image.
imageHintsThe image hints.
- (void) unbindView: (UIView *)  view

解除繫結。

Parameters
viewThe view to unbind.
- (void) unbindAllViews

解除繫結所有繫結的檢視畫面。

- (GCKMediaRepeatMode) cycleRepeatMode

在佇列中,將佇列的重複模式變更為下一個模式:

GCKMediaRepeatModeOffGCKMediaRepeatModeAllGCKMediaRepeatModeSingleGCKMediaRepeatModeAllAndShuffle

傳回
新的重複模式。
- (void) selectTracks

顯示媒體音軌選取 UI 的便利方法。

資源詳細資料

- (id<GCKUIMediaControllerDelegate>) delegate
readwritenonatomicweak

GCKUIMediaController 接收通知的委任對象。

- (GCKSession*) session
readnonatomicstrong

與這個控制器相關聯的工作階段。

- (BOOL) mediaLoaded
readnonatomicassign

接收器目前是否已載入 (或載入) 媒體。

如果沒有啟用 Cast 工作階段,這會是 NO

- (BOOL) hasCurrentQueueItem
readnonatomicassign

佇列中目前是否有項目。

- (BOOL) hasLoadingQueueItem
readnonatomicassign

佇列中是否有預先載入的項目。

- (GCKMediaPlayerState) lastKnownPlayerState
readnonatomicassign

已知的最新媒體播放器狀態。

如果「投放」工作階段處於啟用狀態,這個狀態就會是上次工作階段結束之前的播放器狀態。如果之前沒有工作階段,則會是 GCKMediaPlayerStateUnknown

- (NSTimeInterval) lastKnownStreamPosition
readnonatomicassign

最新已知的媒體串流位置。

如果沒有任何「投放」工作階段,這會是媒體串流在最後工作階段結束前的串流位置。如果之前沒有工作階段,則會是 kGCKInvalidTimeInterval

- (UIButton*) playButton
readwritenonatomicweak

「播放」按鈕。

輕觸按鈕後,接收器就會開始載入或繼續播放目前載入的媒體。如果該按鈕正在播放中,或是目前沒有載入任何媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (UIButton*) pauseButton
readwritenonatomicweak

「暫停」按鈕

輕觸按鈕即可在接收器上暫停播放目前載入的媒體。如果目前載入的媒體不支援暫停播放、尚未播放,或是目前沒有載入任何媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (GCKUIButton*) playPauseToggleButton
readwritenonatomicweak

「播放/暫停」切換鈕

呼叫端應針對按鈕的 GCKUIControlStatePlayGCKUIControlStatePause 狀態設定適當的圖示,即播放狀態的「暫停」圖示,以及暫停狀態的「播放」圖示。系統會自動更新按鈕的狀態,使其反映接收器目前的播放狀態。輕觸按鈕時,接收器上的目前載入媒體會暫停或繼續播放。如果目前載入的媒體不支援暫停、播放中或進行中的播放作業,或者目前沒有載入任何媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (GCKUIPlayPauseToggleController*) playPauseToggleController
readwritenonatomicstrong

「播放/暫停」切換控制器。

做為應用程式提供的自訂播放/暫停切換 UI 的獨立功能。詳情請參閱 GCKUIPlayPauseToggleController

辛策
3.4
- (UIButton*) stopButton
readwritenonatomicweak

「停止」按鈕

輕觸按鈕時,接收器即會停止播放目前載入的媒體。如果目前沒有載入媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (GCKUIButton*) forward30SecondsButton
readwritenonatomicweak

可在目前播放的媒體項目中快轉 30 秒的按鈕。

如果目前沒有載入媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (GCKUIButton*) rewind30SecondsButton
readwritenonatomicweak

這個按鈕會在使用者目前正在播放的媒體項目中倒轉 30 秒。

如果目前沒有載入媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (UIButton*) pauseQueueButton
readwritenonatomicweak

可於目前項目播放完畢時暫停播放佇列的按鈕。

- (UIButton*) nextButton
readwritenonatomicweak

「下一步」按鈕。

輕觸按鈕後,播放就會移到佇列中的下一個媒體項目。如果這項作業不受支援、目前未載入任何媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (UIButton*) previousButton
readwritenonatomicweak

「上一頁」按鈕。

輕觸按鈕後,播放就會移至佇列中的上一個媒體項目。如果這項作業不受支援、目前未載入任何媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (GCKUIButton*) repeatModeButton
readwritenonatomicweak

可循環播放可用佇列重複模式的按鈕。

(請參閱 GCKMediaRepeatMode。) 呼叫端應為按鈕的 UIControlStateNormal (重複)、GCKUIControlStateRepeatSingleGCKUIControlStateRepeatAllGCKUIControlStateShuffle 狀態設定適當的圖示。這個按鈕會自動更新,以在接收器上反映目前的佇列重複模式。輕觸按鈕可循環播放下一個重複模式,順序如下:

GCKMediaRepeatModeOffGCKMediaRepeatModeAllGCKMediaRepeatModeSingleGCKMediaRepeatModeAllAndShuffle

如果目前未使用投放工作階段,系統就會停用這個按鈕。

- (UISlider*) streamPositionSlider
readwritenonatomicweak

顯示及變更目前串流位置的滑桿。

當使用者變更滑桿的值時,接收器中目前載入媒體的串流位置就會更新。在接收端播放媒體時,滑桿的值會即時更新,以反映目前串流的位置。如果目前載入的媒體不支援搜尋、目前未載入任何媒體,或是目前未執行任何投放工作階段,系統就會停用這個滑桿。

- (UIProgressView*) streamProgressView
readwritenonatomicweak

顯示目前串流進度的檢視畫面。

在接收端播放媒體時,檢視畫面的值會即時更新,以反映目前串流的位置。如果目前載入的媒體是即時串流、沒有載入中的媒體,或是目前未執行任何投放工作階段,系統就會停用檢視畫面。

- (UILabel*) streamPositionLabel
readwritenonatomicweak

顯示目前串流位置的標籤,以分鐘和秒為單位。

如果目前沒有載入媒體,或是目前未執行任何投放工作階段,標籤就會顯示「--:--」的本地化形式。

- (UILabel*) streamDurationLabel
readwritenonatomicweak

顯示目前串流持續時間的標籤 (以分鐘和秒為單位)。

如果目前載入的媒體沒有時間長度 (例如,如果是直播),或是目前沒有載入媒體,或是目前未使用任何投放工作階段,標籤就會顯示「--:--」的本地化格式。

- (UILabel*) streamTimeRemainingLabel
readwritenonatomicweak

顯示剩餘串流時間 (持續時間減去位置) 的標籤,以分鐘和秒為單位。

如果目前載入的媒體沒有時間長度 (例如,如果是直播),或是目前沒有載入媒體,或是目前未使用任何投放工作階段,標籤就會顯示「--:--」的本地化格式。

- (GCKUIStreamPositionController*) streamPositionController
readwritenonatomicstrong

串流安裝控制器。

可做為應用程式提供的自訂串流位置和/或跳轉 UI 的獨立式。詳情請參閱 GCKUIStreamPositionController

辛策
3.4
- (BOOL) displayTimeRemainingAsNegativeValue
readwritenonatomicassign

是否要將剩餘串流時間顯示為負值,例如「-1:23:45」。

此屬性預設為 YES

- (UIButton*) tracksButton
readwritenonatomicweak

用於選取音軌和/或隱藏式輔助字幕的按鈕。

使用者輕觸按鈕後,系統便會向使用者顯示媒體軌跡選取 UI。如果目前載入的媒體沒有任何可選取的媒體軌跡、目前未載入任何媒體,或是目前未執行任何投放工作階段,系統就會停用這個按鈕。

- (UILabel*) smartSubtitleLabel
readwritenonatomicweak

顯示目前載入媒體字幕的標籤。

如果中繼資料沒有明確設定字幕欄位,標籤將根據媒體類型顯示最適當的中繼資料欄位,例如電影的工作室名稱或音樂曲目的演出者名稱。

- (UIActivityIndicatorView*) mediaLoadingIndicator
readwritenonatomicweak

表示媒體處於載入狀態的活動指標檢視畫面。