GCKUIMediaController 類別

GCKUIMediaController 類別參考資料

總覽

使用者介面檢視畫面的控制器,用於控製或顯示投放接收端上的媒體播放狀態。

呼叫應用程式會設定適當的屬性,向控制器註冊其媒體相關的 UI 控制項。接著,控制器會發出適當的媒體指令給接收器,藉此回應控制項上的觸控事件,並根據接收方接收的狀態資訊和媒體中繼資料更新控制項。控制器會根據目前工作階段和媒體播放器狀態,自動啟用及停用 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) - bindControlView:toRewindForTime:
 繫結 UIControl 以按照傳遞的值倒轉播放目前項目,以秒為單位。更多...
 
(void) - bindControlView:toForwardForTime:
 繫結 UIControl,按照傳遞的值快轉播放目前項目 (以秒為單位)。更多...
 
(void) - unbindView:
 解除繫結指定的檢視畫面。更多...
 
(void) - unbindAllViews
 解除所有繫結的檢視畫面。更多...
 
(GCKMediaRepeatMode- cycleRepeatMode
 在週期中,將佇列的重複模式變更為下一個模式:更多...
 
(void) - selectTracks
 顯示媒體音軌選取 UI 的便利方法。更多...
 
(void) - skipAd
 傳送並監控略過的廣告請求。更多...
 

資源摘要

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

方法詳細資料

- (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 執行個體。

目前安裝的 GCKUIImagePicker 會用來選取檢視畫面中繼資料中的圖片。

Parameters
imageViewThe UIImageView that will display the selected image.
imageHintsThe image hints.
- (void) bindControlView: (UIControl *)  control
toRewindForTime: (NSTimeInterval)  rewindSeconds 

繫結 UIControl 以按照傳遞的值倒轉播放目前項目,以秒為單位。

系統會根據 GCKCastSession 狀態、遠端播放狀態,以及是否為直播更新檢視畫面。也會在 UIControl 中新增目標,以擷取 UIControlEventTouchUpInside 事件。請勿在 UIControl 上新增這個類型的目標。如要擷取事件,請改用 GCKUIMediaControllerDelegate 方法。

Parameters
controlThe UI element that the user interacts with. Typically this would be an instance of UIButton.
rewindSecondsThe number of seconds to rewind the media.
- (void) bindControlView: (UIControl *)  control
toForwardForTime: (NSTimeInterval)  forwardSeconds 

繫結 UIControl,按照傳遞的值快轉播放目前項目 (以秒為單位)。

系統會根據 GCKCastSession 狀態、遠端播放狀態,以及是否為直播更新檢視畫面。也會在 UIControl 中新增目標,以擷取 UIControlEventTouchUpInside 事件。請勿在 UIControl 上新增這個類型的目標。如要擷取事件,請改用 GCKUIMediaControllerDelegate 方法。

Parameters
controlThe UI element that the user interacts with. Typically this would be an instance of UIButton.
forwardSecondsThe number of seconds to skip the media.
- (void) unbindView: (UIView *)  view

解除繫結指定的檢視畫面。

Parameters
viewThe view to unbind.
- (void) unbindAllViews

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

- (GCKMediaRepeatMode) cycleRepeatMode

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

GCKMediaRepeatModeOffGCKMediaRepeatModeAllGCKMediaRepeatModeSingleGCKMediaRepeatModeAllAndShuffle

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

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

- (void) skipAd

傳送並監控略過的廣告請求。

開始時間
4.3

資源詳情

- (id<GCKUIMediaControllerDelegate>) delegate
readwritenonatomicweak

接收 GCKUIMediaController 通知的代表。

- (GCKSession*) session
readnonatomicstrong

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

- (BOOL) mediaLoaded
readnonatomicassign

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

如果投放工作階段未啟用,此動作將為 NO

- (BOOL) hasCurrentQueueItem
readnonatomicassign

指出佇列中是否有目前項目。

- (BOOL) hasLoadingQueueItem
readnonatomicassign

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

- (GCKMediaPlayerState) lastKnownPlayerState
readnonatomicassign

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

如果投放工作階段未啟用,則這會是最後一個工作階段結束前的播放器狀態。如果沒有先前的工作階段,這個引數就會是 GCKMediaPlayerStateUnknown。

- (NSTimeInterval) lastKnownStreamPosition
readnonatomicassign

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

如果投放工作階段未啟用,這會是媒體的串流位置,就在最後一個工作階段結束之前。如果先前沒有任何工作階段,此值為 kGCKInvalidTimeInterval

- (UIButton*) playButton
readwritenonatomicweak

「播放」按鈕。

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

- (UIButton*) pauseButton
readwritenonatomicweak

「暫停」按鈕。

輕觸按鈕後,接收器就會暫停播放目前載入的媒體。如果目前載入的媒體不支援暫停功能、目前未播放任何媒體,或目前沒有投放工作階段,這個按鈕就會停用。

- (GCKUIMultistateButton*) playPauseToggleButton
readwritenonatomicweak

「播放/暫停」切換鈕。

呼叫端應為按鈕的 GCKUIButtonStatePlayGCKUIButtonStatePlayLiveGCKUIButtonStatePause 按鈕狀態設定適當的圖示,包括播放狀態的「暫停」圖示、播放中狀態的「停止」圖示,以及暫停狀態的「播放」圖示。系統會自動更新按鈕狀態,反映接收器目前的播放狀態。輕觸按鈕後,接收端暫停或繼續播放目前載入的媒體。如果目前載入的媒體不支援暫停功能、目前未播放或暫停播放、目前未載入任何媒體,或是目前沒有投放工作階段,這個按鈕就會停用。

- (GCKUIPlayPauseToggleController*) playPauseToggleController
readwritenonatomicstrong

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

可做為自訂、應用程式提供的播放/暫停切換使用者介面的插頁。如需詳細資訊,請參閱 GCKUIPlayPauseToggleController

開始時間
3.4
- (UIButton*) stopButton
readwritenonatomicweak

「停止」按鈕。

輕觸按鈕後,接收器就會停止播放目前載入的媒體。如果目前未載入媒體,或是投放工作階段目前未啟用,這個按鈕就會停用。

- (UIButton*) forward30SecondsButton
readwritenonatomicweak

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

如果目前未載入媒體,或是投放工作階段目前未啟用,這個按鈕就會停用。

- (UIButton*) rewind30SecondsButton
readwritenonatomicweak

用於在目前播放的媒體項目中倒轉 30 秒的按鈕。

如果目前未載入媒體,或是投放工作階段目前未啟用,這個按鈕就會停用。

- (UIButton*) pauseQueueButton
readwritenonatomicweak

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

- (UIButton*) nextButton
readwritenonatomicweak

「下一步」按鈕。

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

- (UIButton*) previousButton
readwritenonatomicweak

「上一個」按鈕。

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

- (GCKUIMultistateButton*) repeatModeButton
readwritenonatomicweak

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

(請參閱 GCKMediaRepeatMode)。呼叫端應針對按鈕的 GCKUIButtonStateRepeatOffGCKUIButtonStateRepeatSingleGCKUIButtonStateRepeatAllGCKUIButtonStateShuffle 按鈕狀態設定適當的圖示。系統會自動更新按鈕狀態,反映接收器目前的佇列重複模式。輕觸這個按鈕,即可依順序循環切換至下一個重複模式:

GCKMediaRepeatModeOffGCKMediaRepeatModeAllGCKMediaRepeatModeSingleGCKMediaRepeatModeAllAndShuffle

如果目前沒有啟用的投放工作階段,這個按鈕就會停用。

- (UISlider*) streamPositionSlider
readwritenonatomicweak

這個滑桿可用來顯示及變更目前的串流位置。

當使用者變更滑桿值時,接收器上目前載入的媒體串流位置會更新。當接收端正在播放媒體時,滑桿的值會即時更新,反映目前的串流位置。如果目前載入的媒體不支援跳轉功能、目前沒有載入任何媒體,或是目前未啟用投放工作階段,這個滑桿就會停用。

- (UIProgressView*) streamProgressView
readwritenonatomicweak

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

在接收器上播放媒體時,檢視畫面的值會即時更新,反映目前的串流位置。如果目前載入的媒體為直播影片、目前未載入任何媒體,或是目前沒有投放工作階段,系統就會停用這個檢視畫面。

- (UILabel*) streamPositionLabel
readwritenonatomicweak

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

如果目前未載入媒體,或投放工作階段目前未啟用,標籤就會顯示「--:--」的本地化格式。

- (UILabel*) streamDurationLabel
readwritenonatomicweak

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

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

- (UILabel*) streamTimeRemainingLabel
readwritenonatomicweak

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

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

- (GCKUIStreamPositionController*) streamPositionController
readwritenonatomicstrong

串流放置控制器。

可做為自訂、應用程式提供的串流位置及/或跳轉 UI。如需詳細資訊,請參閱 GCKUIStreamPositionController

開始時間
3.4
- (GCKUIPlaybackRateController*) playbackRateController
readwritenonatomicstrong

串流播放速率控制器。

如需詳細資訊,請參閱 GCKUIPlaybackRateController

開始時間
4.0
- (BOOL) displayTimeRemainingAsNegativeValue
readwritenonatomicassign

是否以負值的直播時間顯示,例如「-1:23:45」。

此屬性的預設值為 YES

- (BOOL) hideStreamPositionControlsForLiveContent
readwritenonatomicassign

是否要為直播內容隱藏串流位置控制項 (包括串流位置滑桿、串流時間標籤、直播持續時間標籤和串流進度檢視畫面)。

預設值為 NO

開始時間
4.0
- (UIButton*) tracksButton
readwritenonatomicweak

這個按鈕可用來選取音軌和/或隱藏式輔助字幕或字幕。

使用者輕觸按鈕後,就會看到媒體曲目選取 UI。如果目前載入的媒體沒有任何可選取的媒體軌跡,或者目前未載入任何媒體,或是投放工作階段目前未使用,這個按鈕就會停用。

- (UILabel*) smartSubtitleLabel
readwritenonatomicweak

為目前載入的媒體顯示子標題的標籤。

如果中繼資料未明確設定字幕欄位,標籤就會根據媒體類型顯示最適當的中繼資料欄位,例如電影的公司名稱或音樂曲目的演出者名稱。

- (UIActivityIndicatorView*) mediaLoadingIndicator
readwritenonatomicweak

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

- (UILabel*) skipAdLabel
readwritenonatomicweak

一個標籤,顯示使用者還要多久才會略過廣告。

開始時間
4.3
- (UIButton*) skipAdButton
readwritenonatomicweak

用於略過目前廣告的按鈕。

開始時間
4.3