GCKUIStreamPositionController 类
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
此类继承 NSObject。
- (NSTimeInterval) streamPosition |
|
readwritenonatomicassign |
- (NSTimeInterval) streamDuration |
|
readwritenonatomicassign |
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-25。
[null,null,["最后更新时间 (UTC):2025-07-25。"],[[["\u003cp\u003eThe \u003ccode\u003eGCKUIStreamPositionController\u003c/code\u003e class facilitates the creation of custom stream position and seek UI elements for media playback on Cast receivers.\u003c/p\u003e\n"],["\u003cp\u003eIt provides properties like \u003ccode\u003estreamPosition\u003c/code\u003e, \u003ccode\u003estreamDuration\u003c/code\u003e, and \u003ccode\u003einputEnabled\u003c/code\u003e that reflect the current media playback state.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can subclass and override setters or use KVO to listen for changes to these properties and update their custom UI accordingly.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eGCKUIMediaController\u003c/code\u003e manages the values of these properties, reflecting the state of the \u003ccode\u003eGCKRemoteMediaClient\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThis class is particularly useful when standard UI controls like UISlider, UIProgressView, and UILabel are insufficient for the desired user interface.\u003c/p\u003e\n"]]],["The `GCKUIStreamPositionController` class allows custom UI implementation for stream position and seeking, especially when standard controls are insufficient. Developers can either subclass it, overriding `streamPosition`, `streamDuration`, and `inputEnabled` setters, or use KVO to monitor changes. Key properties include `streamPosition` (current playback time), `streamDuration` (total stream length), and `inputEnabled` (UI control interactivity). The `GCKUIMediaController` manages these, updating them and observing changes to issue media commands.\n"],null,["# GCKUIStreamPositionController Class\n\n[Instance Methods](#pub-methods) \\| [Properties](#properties) \nGCKUIStreamPositionController Class Reference \n\nOverview\n--------\n\nA class that can be used to implement a custom stream position and/or seek UI, in situations where ordinary [**UISlider**](https://goo.gl/H71tKD), [**UIProgressView**](https://goo.gl/LoRoAx), and [**UILabel**](https://goo.gl/POkr7n) controls will not suffice.\n\nThe application may either subclass this class and override the [GCKUIStreamPositionController::streamPosition](/cast/docs/reference/ios/interface_g_c_k_u_i_stream_position_controller#a4c18938c7d08cab86a6d9d895cd3e006 \"The current stream position from the GCKRemoteMediaClient. \"), [GCKUIStreamPositionController::streamDuration](/cast/docs/reference/ios/interface_g_c_k_u_i_stream_position_controller#a7e40db4956d06f5667cae0535fc39392 \"The current stream duration from the GCKRemoteMediaClient. \"), and [GCKUIStreamPositionController::inputEnabled](/cast/docs/reference/ios/interface_g_c_k_u_i_stream_position_controller#a34802bdc97db740306dfc92ca8caf874 \"The GCKUIMediaController writes this property to enable or disable the UI control(s) managed by this ...\") setters, or use KVO to listen for changes to these properties, and update its stream position and/or seek UI control(s) accordingly.\n\nSince\n: 3.4\n\nInherits NSObject.\n\n|----------------|---------------------------------------------------------------------------------------------------------------------|\n| Instance Method Summary ----------------------- ||\n| (instancetype) | - [init](/cast/docs/reference/ios/interface_g_c_k_u_i_stream_position_controller#a8bde50e65ad684623d7c6f54d70eb33b) |\n| | Designated initializer. [More...](#a8bde50e65ad684623d7c6f54d70eb33b) |\n| ||\n\n|----------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Property Summary ---------------- ||\n| NSTimeInterval | [streamPosition](/cast/docs/reference/ios/interface_g_c_k_u_i_stream_position_controller#a4c18938c7d08cab86a6d9d895cd3e006) |\n| | The current stream position from the [GCKRemoteMediaClient](/cast/docs/reference/ios/interface_g_c_k_remote_media_client \"A class for controlling media playback on a Cast receiver. \"). [More...](#a4c18938c7d08cab86a6d9d895cd3e006) |\n| ||\n| NSTimeInterval | [streamDuration](/cast/docs/reference/ios/interface_g_c_k_u_i_stream_position_controller#a7e40db4956d06f5667cae0535fc39392) |\n| | The current stream duration from the [GCKRemoteMediaClient](/cast/docs/reference/ios/interface_g_c_k_remote_media_client \"A class for controlling media playback on a Cast receiver. \"). [More...](#a7e40db4956d06f5667cae0535fc39392) |\n| ||\n| BOOL | [inputEnabled](/cast/docs/reference/ios/interface_g_c_k_u_i_stream_position_controller#a34802bdc97db740306dfc92ca8caf874) |\n| | The [GCKUIMediaController](/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller \"A controller for UI views that are used to control or display the status of media playback on a Cast ...\") writes this property to enable or disable the UI control(s) managed by this controller. [More...](#a34802bdc97db740306dfc92ca8caf874) |\n| ||\n\nMethod Detail\n-------------\n\n|-----------------------|---|---|---|\n| - (instancetype) init | | | |\n\nDesignated initializer.\n\nProperty Detail\n---------------\n\n|-----------------------------------------------------------------------------|--------------------------|\n| |-----------------------------------| | - (NSTimeInterval) streamPosition | | readwritenonatomicassign |\n\nThe current stream position from the [GCKRemoteMediaClient](/cast/docs/reference/ios/interface_g_c_k_remote_media_client \"A class for controlling media playback on a Cast receiver. \").\n\nThe [GCKUIMediaController](/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller \"A controller for UI views that are used to control or display the status of media playback on a Cast ...\") writes this property whenever the stream position changes; while the stream is advancing, the property will be updated once per second. The [GCKUIMediaController](/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller \"A controller for UI views that are used to control or display the status of media playback on a Cast ...\") observes the property (unless it is in the process of writing it) and if it changes, it issues the appropriate media command with the GCKRemoteMediaPlayer to seek to the new stream position. Note that updating this value on an unseekable stream will have no effect. \n\n|-----------------------------------------------------------------------------|--------------------------|\n| |-----------------------------------| | - (NSTimeInterval) streamDuration | | readwritenonatomicassign |\n\nThe current stream duration from the [GCKRemoteMediaClient](/cast/docs/reference/ios/interface_g_c_k_remote_media_client \"A class for controlling media playback on a Cast receiver. \").\n\nThe [GCKUIMediaController](/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller \"A controller for UI views that are used to control or display the status of media playback on a Cast ...\") writes this property whenever the stream duration changes. If the stream does not have a known duration (because it is a live stream, for example), then the value written will be [kGCKInvalidTimeInterval](/cast/docs/reference/ios/g_c_k_media_common_8h#abe8984fca7b61be2470630190b919c3b). It is not meaningful for the application to change this value. \n\n|-----------------------------------------------------|--------------------------|\n| |-----------------------| | - (BOOL) inputEnabled | | readwritenonatomicassign |\n\nThe [GCKUIMediaController](/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller \"A controller for UI views that are used to control or display the status of media playback on a Cast ...\") writes this property to enable or disable the UI control(s) managed by this controller.\n\nMedia-related UI controls are temporarily disabled while a media command is in-flight."]]