GCKUIMediaController 类

GCKUIMediaController 类参考文档

概览

一种界面视图控制器,用于控制在 Cast 接收器上播放媒体或显示其状态。

调用方应用通过设置适当的属性,向控制器注册其媒体相关界面控件。然后,控制器通过向接收器发出适当的媒体命令来响应控件上的触摸事件,并根据从接收器收到的状态信息和媒体元数据更新控件。控制器会根据当前会话和媒体播放器状态,自动启用和停用界面控件。此外,它还会在请求进行过程中停用所有控件。

如需了解委托协议,请参阅 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
 用于显示媒体轨道选择界面的便捷方法。更多...
 

属性摘要

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

用于显示媒体轨道选择界面的便捷方法。

属性详情

- (id<GCKUIMediaControllerDelegate>) delegate
readwritenonatomicweak

用于从 GCKUIMediaController 接收通知的代理。

- (GCKSession*) session
readnonatomicstrong

与此控制器关联的会话。

- (BOOL) mediaLoaded
readnonatomicassign

接收器上当前是否正在加载(或正在加载)媒体。

如果没有活跃会话,此值将为 NO

- (BOOL) hasCurrentQueueItem
readnonatomicassign

队列中是否有当前项。

- (BOOL) hasLoadingQueueItem
readnonatomicassign

队列中是否有已预加载的项。

- (GCKMediaPlayerState) lastKnownPlayerState
readnonatomicassign

最新的已知媒体播放器状态。

如果所有 Cast 会话都未处于活动状态,那么此会话状态将变为在上次会话结束之前。如果之前没有会话,此值将为 GCKMediaPlayerStateUnknown

- (NSTimeInterval) lastKnownStreamPosition
readnonatomicassign

最新的已知媒体流位置。

如果没有任何 Cast 会话,此时间将是媒体会话在上次会话结束前所处的位置。如果之前没有会话,此值将为 kGCKInvalidTimeInterval

- (UIButton*) playButton
readwritenonatomicweak

“播放”按钮。

点按该按钮后,接收器上会启动或继续播放当前加载的媒体。如果播放已在进行中、没有加载媒体或者目前没有投放会话,该按钮将处于停用状态。

- (UIButton*) pauseButton
readwritenonatomicweak

“暂停”按钮。

点按该按钮后,接收器上会暂停播放当前已加载的媒体。如果当前加载的媒体不支持暂停、未进行播放、当前未加载任何媒体或者当前没有任何投放会话,该按钮将被停用。

- (GCKUIButton*) playPauseToggleButton
readwritenonatomicweak

“播放/暂停”切换按钮。

调用方应为按钮的 GCKUIControlStatePlayGCKUIControlStatePause 状态设置适当的图标,即为播放状态设置“暂停”图标,为暂停状态设置“播放”图标。按钮的状态会自动更新,以反映接收器上的当前播放状态。点按该按钮后,接收器上会暂停或继续播放当前加载的媒体。如果当前加载的媒体不支持暂停、播放目前没有进行或暂停、没有当前加载的媒体,或者当前没有任何投放会话,该按钮将被停用。

- (GCKUIPlayPauseToggleController*) playPauseToggleController
readwritenonatomicstrong

“播放/暂停”切换控制器。

用作应用提供的自定义播放/暂停切换界面的替代项。如需了解详情,请参阅 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

数据流位置控制器。

用作应用提供的自定义信息流位置和/或进度界面的替代值。如需了解详情,请参阅 GCKUIStreamPositionController

辛塞
3.4
- (BOOL) displayTimeRemainingAsNegativeValue
readwritenonatomicassign

是否将剩余直播时间显示为负值,例如“-1:23:45”。

默认情况下,此属性会设置为 YES

- (UIButton*) tracksButton
readwritenonatomicweak

用于选择音轨和/或字幕的按钮。

用户点按该按钮后,系统会向用户显示媒体轨道选择界面。如果当前加载的媒体没有任何可选的媒体轨道、当前未加载媒体,或者目前没有活跃的投放会话,该按钮将处于停用状态。

- (UILabel*) smartSubtitleLabel
readwritenonatomicweak

用于显示当前已加载媒体的副标题的标签。

如果元数据中未明确设置字幕字段,标签将会根据媒体类型显示最合适的元数据字段,例如电影的工作室名称或音乐曲目的音乐人姓名。

- (UIActivityIndicatorView*) mediaLoadingIndicator
readwritenonatomicweak

一个活动指示器视图,用于指示媒体处于加载状态。