GCKUIMediaController クラス

GCKUIMediaController クラス リファレンス

概要

Cast レシーバーでのメディア再生のステータスを制御または表示するために使用される 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:
 UIImageView を GCKUIImageHints インスタンスにバインドします。詳細...
 
(void) - unbindView:
 指定されたビューのバインドを解除します。詳細...
 
(void) - unbindAllViews
 バインドされているすべてのビューのバインドを解除します。詳細...
 
(GCKMediaRepeatMode) - cycleRepeatMode
 キューの繰り返しモードを、サイクルの次のモードに変更します。詳細
 
(void) - selectTracks
 メディア トラック選択 UI を表示するための便利なメソッド。詳細...
 

プロパティの概要

id< GCKUIMediaControllerDelegate > delegate
 GCKUIMediaController から通知を受け取るためのデリゲート。詳細...
 
GCKSession * session
 このコントローラに関連付けられているセッション。詳細...
 
BOOL mediaLoaded
 現在、メディアがレシーバーに読み込まれている(または読み込み中である)かどうか。詳細...
 
BOOL hasCurrentQueueItem
 キューに現在のアイテムがあるかどうか。詳細...
 
BOOL hasLoadingQueueItem
 キューにプリロード中のアイテムがあるかどうか。詳細...
 
GCKMediaPlayerState lastKnownPlayerState
 最後に確認されたメディア プレーヤーの状態。詳細...
 
NSTimeInterval lastKnownStreamPosition
 最後に認識されたメディア ストリームの位置。詳細...
 
UIButton * playButton
 「再生」ボタン。詳細...
 
UIButton * pauseButton
 一時停止ボタン。詳細...
 
GCKUIButton * playPauseToggleButton
 再生/一時停止の切り替えボタン。詳細...
 
GCKUIPlayPauseToggleController * playPauseToggleController
 「再生/一時停止」切り替えコントローラ。詳細...
 
UIButton * stopButton
 [停止] ボタン。詳細...
 
GCKUIButton * forward30SecondsButton
 現在再生中のメディア アイテムを 30 秒早送りするためのボタン。詳細...
 
GCKUIButton * rewind30SecondsButton
 現在再生中のメディア アイテムを 30 秒巻き戻すためのボタン。詳細...
 
UIButton * pauseQueueButton
 現在のアイテムの再生が終了したら、キューの再生を一時停止するためのボタン。詳細...
 
UIButton * nextButton
 [次へ] ボタン。詳細...
 
UIButton * previousButton
 「前へ」ボタン。詳細...
 
GCKUIButton * repeatModeButton
 利用可能なキューの繰り返しモードを切り替えるためのボタン。詳細...
 
UISlider * streamPositionSlider
 現在のストリーム位置を表示および変更するためのスライダー。詳細...
 
UIProgressView * streamProgressView
 現在のストリームの進行状況を表示するビュー。詳細...
 
UILabel * streamPositionLabel
 現在のストリーム位置を分と秒で表示するラベル。詳細...
 
UILabel * streamDurationLabel
 現在のストリームの再生時間を分と秒で表示するラベル。詳細...
 
UILabel * streamTimeRemainingLabel
 残りのストリーミング時間(再生時間から現在位置を引いた時間)を分と秒で表示するラベル。詳細...
 
GCKUIStreamPositionController * streamPositionController
 ストリーム位置コントローラ。詳細...
 
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

キューの繰り返しモードを、サイクルの次のモードに変更します。

GCKMediaRepeatModeOff → GCKMediaRepeatModeAll → GCKMediaRepeatModeSingle → GCKMediaRepeatModeAllAndShuffle

戻り値
新しいリピートモード。
- (void) selectTracks

メディア トラック選択 UI を表示するための便利なメソッド。

プロパティの詳細

- (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

「再生」ボタン。

ボタンをタップすると、現在読み込まれているメディアの再生がレシーバーで開始または再開されます。再生がすでに進行中の場合、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (UIButton*) pauseButton
readwritenonatomicweak

一時停止ボタン。

ボタンをタップすると、現在読み込まれているメディアの再生がレシーバーで一時停止します。現在読み込まれているメディアが一時停止をサポートしていない場合、現在再生が進行していない場合、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (GCKUIButton*) playPauseToggleButton
readwritenonatomicweak

再生/一時停止の切り替えボタン。

呼び出し元は、ボタンの GCKUIControlStatePlay 状態と GCKUIControlStatePause 状態に適切なアイコンを設定する必要があります。つまり、再生状態には一時停止アイコン、一時停止状態には再生アイコンを設定します。ボタンの状態は、レシーバーの現在の再生状態を反映するように自動的に更新されます。ボタンをタップすると、現在読み込まれているメディアの再生がレシーバーで一時停止または再開されます。現在読み込まれているメディアが一時停止をサポートしていない場合、再生が現在進行中または一時停止中でない場合、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (GCKUIPlayPauseToggleController*) playPauseToggleController
readwritenonatomicstrong

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

カスタムのアプリ提供の再生/一時停止切り替え UI の代わりとして使用されます。詳しくは、GCKUIPlayPauseToggleController をご覧ください。

発足
3.4
- (UIButton*) stopButton
readwritenonatomicweak

[停止] ボタン。

ボタンをタップすると、現在読み込まれているメディアの再生がレシーバーで停止します。現在読み込まれているメディアがない場合、または現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (GCKUIButton*) forward30SecondsButton
readwritenonatomicweak

現在再生中のメディア アイテムを 30 秒早送りするためのボタン。

現在読み込まれているメディアがない場合、または現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (GCKUIButton*) rewind30SecondsButton
readwritenonatomicweak

現在再生中のメディア アイテムを 30 秒巻き戻すためのボタン。

現在読み込まれているメディアがない場合、または現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (UIButton*) pauseQueueButton
readwritenonatomicweak

現在のアイテムの再生が終了したら、キューの再生を一時停止するためのボタン。

- (UIButton*) nextButton
readwritenonatomicweak

[次へ] ボタン。

ボタンをタップすると、再生はキュー内の次のメディア アイテムに移動します。オペレーションがサポートされていない場合、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (UIButton*) previousButton
readwritenonatomicweak

「前へ」ボタン。

ボタンをタップすると、再生はキュー内の前のメディア アイテムに移動します。オペレーションがサポートされていない場合、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (GCKUIButton*) repeatModeButton
readwritenonatomicweak

利用可能なキューの繰り返しモードを切り替えるボタン。

(GCKMediaRepeatMode を参照)。呼び出し元は、ボタンの UIControlStateNormal(リピート オフ)、GCKUIControlStateRepeatSingle、GCKUIControlStateRepeatAll、GCKUIControlStateShuffle の各状態に適切なアイコンを設定する必要があります。ボタンの状態は、レシーバーの現在のキュー リピート モードを反映するように自動的に更新されます。ボタンをタップすると、次の順序で次のリピート モードに切り替わります。

GCKMediaRepeatModeOff → GCKMediaRepeatModeAll → GCKMediaRepeatModeSingle → GCKMediaRepeatModeAllAndShuffle

現在アクティブなキャスト セッションがない場合、ボタンは無効になります。

- (UISlider*) streamPositionSlider
readwritenonatomicweak

現在のストリーム位置を表示および変更するためのスライダー。

ユーザーがスライダーの値を変更すると、現在読み込まれているメディアのストリーム位置がレシーバーで更新されます。レシーバでメディアの再生が進行中の場合、スライダーの値は現在のストリーム位置を反映するようにリアルタイムで更新されます。現在読み込まれているメディアがシークをサポートしていない場合、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、スライダーは無効になります。

- (UIProgressView*) streamProgressView
readwritenonatomicweak

現在のストリームの進行状況を表示するビュー。

レシーバーでメディアの再生が進行中の場合、ビューの値は現在のストリーム位置を反映するようにリアルタイムで更新されます。現在読み込まれているメディアがライブ配信の場合、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ビューは無効になります。

- (UILabel*) streamPositionLabel
readwritenonatomicweak

現在のストリーム位置を分と秒で表示するラベル。

現在読み込まれているメディアがない場合や、現在アクティブな Cast セッションがない場合、ラベルにはローカライズされた「--:--」が表示されます。

- (UILabel*) streamDurationLabel
readwritenonatomicweak

現在のストリームの再生時間を分と秒で表示するラベル。

現在読み込まれているメディアに再生時間がない場合(ライブ配信など)、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ラベルには「--:--」のローカライズされた形式が表示されます。

- (UILabel*) streamTimeRemainingLabel
readwritenonatomicweak

残りストリーミング時間(再生時間から現在位置を引いた時間)を分と秒で表示するラベル。

現在読み込まれているメディアに再生時間がない場合(ライブ配信など)、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ラベルには「--:--」のローカライズされた形式が表示されます。

- (GCKUIStreamPositionController*) streamPositionController
readwritenonatomicstrong

ストリーム位置コントローラ。

カスタムのアプリケーション提供ストリーム位置やシーク UI の代わりに使用されます。詳しくは、GCKUIStreamPositionController をご覧ください。

発足
3.4
- (BOOL) displayTimeRemainingAsNegativeValue
readwritenonatomicassign

残りのストリーミング時間が「-1:23:45」のように負の値で表示されるかどうか。

デフォルトでは、このプロパティは YES に設定されています。

- (UIButton*) tracksButton
readwritenonatomicweak

音声トラックやクローズド キャプション、字幕を選択するためのボタン。

ボタンをタップすると、メディア トラック選択 UI がユーザーに表示されます。現在読み込まれているメディアに選択可能なメディア トラックがない場合、現在読み込まれているメディアがない場合、現在アクティブな Cast セッションがない場合、ボタンは無効になります。

- (UILabel*) smartSubtitleLabel
readwritenonatomicweak

現在読み込まれているメディアの字幕を表示するためのラベル。

メタデータに字幕フィールドが明示的に設定されていない場合、ラベルにはメディアタイプに基づいて最も適切なメタデータ フィールドが表示されます(映画の場合はスタジオ名、音楽トラックの場合はアーティスト名など)。

- (UIActivityIndicatorView*) mediaLoadingIndicator
readwritenonatomicweak

メディアが読み込み状態であることを示すアクティビティ インジケーター ビュー。