GCKUIMediaController クラス

GCKUIMediaController クラス リファレンス

概要

キャスト レシーバーでのメディア再生ステータスを制御または表示するために使用する、UI ビューのコントローラ。

呼び出し元のアプリは、適切なプロパティを設定して、メディア関連の 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:
 UIImageViewGCKUIImageHints インスタンスにバインドします。その他...
 
(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 

UIImageViewGCKUIImageHints インスタンスにバインドします。

現在インストールされている GCKUIImagePicker を使用して、ビューのメタデータから画像を選択します。

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

UIControl をバインドし、渡された値(秒単位)で現在のアイテムの再生を巻き戻します。

ビューは、GCKCastSession 状態、リモートの再生状態、ライブストリームかどうかに基づいて更新されます。また、UIControlEventTouchUpInside イベントをキャプチャするために、ターゲットが UIControl に追加されます。このタイプのターゲットを 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 状態、リモートの再生状態、ライブストリームかどうかに基づいて更新されます。また、UIControlEventTouchUpInside イベントをキャプチャするために、ターゲットが UIControl に追加されます。このタイプのターゲットを 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

「再生/一時停止」の切り替えコントローラ。

アプリから提供されるカスタムの再生/一時停止切り替え UI の代用となります。詳しくは、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