概览
用于控制或显示 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< 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 |
| 用于指示媒体处于加载状态的 activity 指示器视图。更多… | |
方法详细信息
| - (instancetype) init |
初始化实例。
| - (void) bindLabel: | (UILabel *) | label | |
| toMetadataKey: | (NSString *) | key | |
将 UILabel 绑定到元数据键。
该视图将显示相应元数据字段的当前值。
如需查看预定义的元数据键的列表,请参阅 GCKMediaMetadata。
- Parameters
-
label The UILabel that will display the value. key The metadata key.
| - (void) bindLabel: | (UILabel *) | label | |
| toMetadataKey: | (NSString *) | key | |
| withFormatter: | (GCKUIValueFormatter) | formatter | |
将 UILabel 绑定到元数据键。
该视图将显示相应元数据字段的当前值。
如需查看预定义的元数据键的列表,请参阅 GCKMediaMetadata。
- Parameters
-
label The UILabel that will display the value. key The metadata key. formatter A block that will produce the desired string representation of the value.
| - (void) bindTextView: | (UITextView *) | textView | |
| toMetadataKey: | (NSString *) | key | |
将 UITextView 绑定到元数据键。
该视图将显示相应元数据字段的当前值。
如需查看预定义的元数据键的列表,请参阅 GCKMediaMetadata。
- Parameters
-
textView The UITextView that will display the value. key The metadata key.
| - (void) bindTextView: | (UITextView *) | textView | |
| toMetadataKey: | (NSString *) | key | |
| withFormatter: | (GCKUIValueFormatter) | formatter | |
将 UITextView 绑定到元数据键。
该视图将显示相应元数据字段的当前值。
如需查看预定义的元数据键的列表,请参阅 GCKMediaMetadata。
- Parameters
-
textView The UITextView that will display the value. key The metadata key. formatter A block that will produce the desired string representation of the value.
| - (void) bindImageView: | (UIImageView *) | imageView | |
| toImageHints: | (GCKUIImageHints *) | imageHints | |
将 UIImageView 绑定到 GCKUIImageHints 实例。
当前安装的 UIImagePicker 将用于从元数据中选择视图的图片。
- Parameters
-
imageView The UIImageView that will display the selected image. imageHints The image hints.
| - (void) unbindView: | (UIView *) | view |
取消绑定指定的视图。
- Parameters
-
view The view to unbind.
| - (void) unbindAllViews |
解除所有已绑定视图的绑定。
| - (GCKMediaRepeatMode) cycleRepeatMode |
将队列的重复模式更改为循环中的下一个模式:
GCKMediaRepeatModeOff → GCKMediaRepeatModeAll → GCKMediaRepeatModeSingle → GCKMediaRepeatModeAllAndShuffle
- 返回
- 新的重复模式。
| - (void) selectTracks |
用于显示媒体轨道选择界面的便捷方法。
媒体资源详情
|
readwritenonatomicweak |
用于接收来自 GCKUIMediaController 的通知的委托。
|
readnonatomicstrong |
与此控制器关联的会话。
|
readnonatomicassign |
接收器上当前是否已加载(或正在加载)媒体。
如果没有活跃的 Cast 会话,则此值为 NO。
|
readnonatomicassign |
队列中是否有当前项。
|
readnonatomicassign |
队列中是否有正在预加载的项。
|
readnonatomicassign |
已知的最新媒体播放器状态。
如果没有有效的 Cast 会话,则此状态将是上一个会话结束之前的播放器状态。如果之前没有会话,则此值为 GCKMediaPlayerStateUnknown。
|
readnonatomicassign |
最新的已知媒体流位置。
如果没有活动的 Cast 会话,则此值为媒体在上次会话结束前的播放位置。如果之前没有会话,则此值为 kGCKInvalidTimeInterval。
|
readwritenonatomicweak |
“播放”按钮。
当用户点按该按钮时,接收器会开始播放或恢复播放当前加载的媒体。如果播放已在进行中、当前未加载任何媒体或当前没有有效的 Cast 会话,该按钮将处于停用状态。
|
readwritenonatomicweak |
“暂停”按钮。
点按该按钮后,接收器上当前加载的媒体的播放会暂停。如果当前加载的媒体不支持暂停、当前未在播放、当前未加载任何媒体或当前没有有效的 Cast 会话,则该按钮将被停用。
|
readwritenonatomicweak |
“播放/暂停”切换按钮。
调用方应为按钮的 GCKUIControlStatePlay 和 GCKUIControlStatePause 状态设置适当的图标,即为播放状态设置“暂停”图标,为暂停状态设置“播放”图标。按钮的状态会自动更新,以反映接收器上的当前播放状态。点按该按钮后,接收器上当前加载的媒体会暂停或继续播放。如果当前加载的媒体不支持暂停,或者当前未在播放或暂停,或者当前未加载任何媒体,或者当前没有有效的 Cast 会话,则该按钮将被停用。
|
readwritenonatomicstrong |
|
readwritenonatomicweak |
“停止”按钮。
当用户点按该按钮时,接收器上当前加载的媒体的播放会停止。如果没有当前加载的媒体,或者当前没有有效的 Cast 会话,该按钮将处于停用状态。
|
readwritenonatomicweak |
用于在当前播放的媒体项中快进 30 秒的按钮。
如果没有当前加载的媒体,或者当前没有有效的 Cast 会话,该按钮将处于停用状态。
|
readwritenonatomicweak |
用于在当前播放的媒体项中快退 30 秒的按钮。
如果没有当前加载的媒体,或者当前没有有效的 Cast 会话,该按钮将处于停用状态。
|
readwritenonatomicweak |
一个按钮,用于在当前项播放完毕后暂停队列播放。
|
readwritenonatomicweak |
“下一个”按钮。
点按该按钮后,播放会移至队列中的下一个媒体项。如果不支持该操作、当前未加载任何媒体或当前没有有效的 Cast 会话,该按钮将被停用。
|
readwritenonatomicweak |
“上一个”按钮。
点按此按钮后,播放会移至队列中的上一个媒体项。如果不支持该操作、当前未加载任何媒体或当前没有有效的 Cast 会话,该按钮将被停用。
|
readwritenonatomicweak |
用于循环切换可用队列重复模式的按钮。
(请参阅 GCKMediaRepeatMode。)调用方应为按钮的 UIControlStateNormal(重复关闭)、GCKUIControlStateRepeatSingle、GCKUIControlStateRepeatAll 和 GCKUIControlStateShuffle 状态设置适当的图标。按钮的状态会自动更新,以反映接收器上的当前队列重复模式。点按该按钮可按以下顺序循环切换到下一个重复模式:
GCKMediaRepeatModeOff → GCKMediaRepeatModeAll → GCKMediaRepeatModeSingle → GCKMediaRepeatModeAllAndShuffle
如果没有当前有效的 Cast 会话,该按钮将被停用。
|
readwritenonatomicweak |
用于显示和更改当前视频流位置的滑块。
当用户更改滑块的值时,接收器上当前加载的媒体的流位置会更新。当接收器正在播放媒体时,滑块的值会实时更新,以反映当前的串流位置。如果当前加载的媒体不支持搜索,或者当前未加载任何媒体,或者当前没有有效的 Cast 会话,则滑块将被停用。
|
readwritenonatomicweak |
用于显示当前直播进度的视图。
当接收器正在播放媒体时,视图的值会实时更新,以反映当前的媒体串流位置。如果当前加载的媒体是直播,或者当前未加载任何媒体,或者当前没有有效的 Cast 会话,则该视图将被停用。
|
readwritenonatomicweak |
用于显示当前视频流位置(以分钟和秒为单位)的标签。
如果当前未加载任何媒体,或者当前没有有效的 Cast 会话,则标签会显示本地化的“--:--”。
|
readwritenonatomicweak |
用于显示当前视频流时长的标签(以分钟和秒为单位)。
如果当前加载的媒体没有时长(例如,如果是直播),或者当前没有加载任何媒体,或者当前没有有效的 Cast 会话,则标签会显示本地化的“--:--”。
|
readwritenonatomicweak |
用于显示剩余的视频播放时间(时长减去当前位置)的标签,以分钟和秒为单位。
如果当前加载的媒体没有时长(例如,如果是直播),或者当前没有加载任何媒体,或者当前没有有效的 Cast 会话,则标签会显示本地化的“--:--”。
|
readwritenonatomicstrong |
|
readwritenonatomicassign |
是否将剩余的直播时间显示为负值,例如“-1:23:45”。
默认情况下,此属性设置为 YES。
|
readwritenonatomicweak |
用于选择音轨和/或字幕的按钮。
当用户点按该按钮时,系统会向用户显示媒体轨道选择界面。如果当前加载的媒体没有任何可选择的媒体轨道、当前未加载任何媒体或当前没有活动的 Cast 会话,则该按钮将被停用。
|
readwritenonatomicweak |
用于显示当前加载的媒体的字幕的标签。
如果元数据中未明确设置副标题字段,标签将根据媒体类型显示最合适的元数据字段,例如电影的工作室名称或音乐曲目的艺术家名称。
|
readwritenonatomicweak |
用于指示媒体处于加载状态的 activity 指示器视图。