概览
适用于投放设备的控制器。
此类可以向在 Cast 设备上运行的应用发送消息、接收消息、启动消息以及关闭应用。
只要与 Cast 设备的连接处于建立状态,或者正在创建或关闭连接,GCKDeviceManager 实例就必须在范围内。在通过 connect (GCKDeviceManager) 启动连接之前或调用 deviceManager:didDisconnectWithError: (GCKDeviceManagerDelegate-p)、deviceManager:didSuspendConnectionWithReason: (GCKDeviceManagerDelegate-p) 或 deviceManager:didFailToConnectWithError: (GCKDeviceManagerDelegate-p) 委托回调之后,可以安全地释放对象。
- Deprecated:
- 使用 GCKSessionManager 和 GCKCastSession 与投放接收器交互。
此类继承 NSObject。
实例方法摘要 | |
(instancetype) | - initWithDevice:clientPackageName: |
使用给定设备构造新的 GCKDeviceManager。更多... | |
(instancetype) | - initWithDevice:clientPackageName:ignoreAppStateNotifications: |
指定的初始化程序。更多... | |
(void) | - connect |
连接到设备。更多... | |
(void) | - disconnect |
断开与设备的连接。更多... | |
(void) | - disconnectWithLeave: |
断开与设备的连接。更多... | |
(BOOL) | - addChannel: |
添加一个渠道,以便在特定命名空间中发送和接收此设备的消息。更多... | |
(BOOL) | - removeChannel: |
移除之前添加的频道。更多... | |
(NSInteger) | - launchApplication: |
启动应用。更多... | |
(NSInteger) | - launchApplication:withLaunchOptions: |
使用给定的启动选项启动应用。更多... | |
(NSInteger) | - launchApplication:relaunchIfRunning: |
启动应用(如果已有运行,则可以选择重新启动该应用)。更多... | |
(NSInteger) | - joinApplication: |
加入应用。更多... | |
(NSInteger) | - joinApplication:sessionID: |
联接具有特定应用会话 ID 的应用。更多... | |
(BOOL) | - leaveApplication |
退出当前应用。更多... | |
(NSInteger) | - stopApplication |
停止任何正在运行的应用。更多... | |
(NSInteger) | - stopApplicationWithSessionID: |
停止具有指定应用会话 ID 的应用。更多... | |
(NSInteger) | - setVolume: |
设置系统音量。更多... | |
(NSInteger) | - setMuted: |
开启或关闭静音功能。更多... | |
(NSInteger) | - requestDeviceStatus |
请求设备的当前状态。更多... | |
属性摘要 | |
BOOL | ignoreAppStateNotifications |
此对象是否会监听应用状态通知。更多... | |
GCKConnectionState | connectionState |
设备管理器的当前连接状态。更多... | |
GCKConnectionState | applicationConnectionState |
设备管理器的当前应用连接状态。更多... | |
BOOL | isConnected |
如果设备管理器已与设备建立连接,则返回 true。更多... | |
BOOL | isConnectedToApp |
如果设备管理器已与设备上的应用建立连接,则返回 true。更多... | |
BOOL | isReconnecting |
如果设备管理器由于暂时性事件(例如,应用在后台运行或存在可能通过重新连接解决的网络错误)而断开连接,则为 true。更多... | |
NSTimeInterval | reconnectTimeout |
如果套接字连接由于暂时性错误而断开连接,系统会尝试重新连接此时长。更多... | |
GCKDevice * | device |
由此 GCKDeviceManager 控制的设备。更多... | |
id< GCKDeviceManagerDelegate > | delegate |
用于从 GCKDeviceManager 接收通知的代理。更多... | |
float | deviceVolume |
设备的当前音量(如果已知,范围为 [0.0, 1.0]);否则为 0。更多... | |
BOOL | deviceMuted |
设备当前的静音状态(如果已知);否则为 NO 。更多... | |
GCKActiveInputStatus | activeInputStatus |
设备当前的“有效输入”状态。更多... | |
GCKStandbyStatus | standbyStatus |
设备当前的“待机”状态。更多... | |
NSString * | applicationSessionID |
当前连接的接收器应用的应用会话 ID(如有);否则为 nil 。更多... | |
GCKApplicationMetadata * | applicationMetadata |
当前在接收器上运行的接收器应用的元数据(如果有);否则为 nil 。更多... | |
NSString * | applicationStatusText |
当前正在运行的接收器应用最近报告的状态文本(如果有);否则为 nil 。更多... | |
方法详细信息
- (instancetype) initWithDevice: | (GCKDevice *) | device | |
clientPackageName: | (NSString *) | clientPackageName | |
使用给定设备构造新的 GCKDeviceManager。
此对象将监听应用状态通知,并且在应用进入后台时自动断开与设备的连接,并在应用返回前台时尝试重新连接设备。
- Parameters
-
device The device to control. clientPackageName The client package name.
- (instancetype) initWithDevice: | (GCKDevice *) | device | |
clientPackageName: | (NSString *) | clientPackageName | |
ignoreAppStateNotifications: | (BOOL) | ignoreAppStateNotifications | |
指定的初始化程序。
构造用于控制给定设备的新 GCKDeviceManager。
如果 ignoreAppStateNotifications 为 NO
,该对象将监听应用状态的变化,并在应用进入后台时自动断开与设备的连接,并在应用返回前台时尝试重新连接设备。
如果 ignoreAppStateNotifications 为 YES
,则对象不会监听这些通知,并且由应用负责管理连接生命周期。请注意,后台 iOS 应用通常无法无限期地运行,而且其活动网络连接最终将由操作系统关闭。
- Parameters
-
device The device to control. clientPackageName The client package name. ignoreAppStateNotifications Whether this object will ignore app state notifications.
- (void) connect |
连接到设备。
- (void) disconnect |
- (void) disconnectWithLeave: | (BOOL) | leaveApplication |
断开与设备的连接。
必须在调用 connect 之后以及其所有者释放此对象之前的某个时间点调用某个断开连接方法。
- Parameters
-
leaveApplication YES
if this is an explicit disconnect that should disconnect from ("leave") the receiver application before closing the connection;NO
if this is an implicit disconnect that should just close the connection.
- (BOOL) addChannel: | (GCKCastChannel *) | channel |
添加一个渠道,以便在特定命名空间中发送和接收此设备的消息。
- Parameters
-
channel The channel.
- 返回
- 如果频道已添加,则设为
YES
;如果频道未添加此频道,则添加NO
表示此命名空间。
- (BOOL) removeChannel: | (GCKCastChannel *) | channel |
移除之前添加的频道。
- Parameters
-
channel The channel.
- 返回 如果频道已移除,则为
YES
;如果频道未曾被移除,则为 NO
。- (NSInteger) launchApplication: | (NSString *) | applicationID |
- (NSInteger) launchApplication: | (NSString *) | applicationID | |
withLaunchOptions: | (GCKLaunchOptions *__nullable) | launchOptions | |
使用给定的启动选项启动应用。
- Parameters
-
applicationID The application ID. launchOptions The launch options for this request. If nil
, defaults will be used.
- 返回
- 请求 ID,如果请求无法发送,则为 kGCKInvalidRequestID。
- (NSInteger) launchApplication: | (NSString *) | applicationID | |
relaunchIfRunning: | (BOOL) | relaunchIfRunning | |
启动应用(如果已有运行,则可以选择重新启动该应用)。
- Parameters
-
applicationID The application ID. relaunchIfRunning If YES
, relaunches the application if it is already running instead of joining the running application.
- 返回
- 请求 ID,如果请求无法发送,则为 kGCKInvalidRequestID。
- (NSInteger) joinApplication: | (NSString *__nullable) | applicationID |
加入应用。
- Parameters
-
applicationID The application ID. If nil
, attempts to join whichever application is currently running; otherwise, attempts to join the specified application.
- 返回
- 请求 ID,如果请求无法发送,则为 kGCKInvalidRequestID。
- (NSInteger) joinApplication: | (NSString *) | applicationID | |
sessionID: | (NSString *) | sessionID | |
联接具有特定应用会话 ID 的应用。
如果接收设备上的指定会话 ID 不再活动,则请求将失败。
- Parameters
-
applicationID The application ID. sessionID The application session ID.
- 返回
- 请求 ID,如果请求无法发送,则为 kGCKInvalidRequestID。
- (BOOL) leaveApplication |
退出当前应用。
- 返回
NO
(如果邮件无法发送)。
- (NSInteger) stopApplication |
停止任何正在运行的应用。
- 返回
- 请求 ID,如果请求无法发送,则为 kGCKInvalidRequestID。
- (NSInteger) stopApplicationWithSessionID: | (NSString *__nullable) | sessionID |
停止具有指定应用会话 ID 的应用。
如果接收设备上的指定会话 ID 不再活动,则请求将失败。
- Parameters
-
sessionID The application session ID, which may not be nil
.
- 返回
- 请求 ID,如果请求无法发送,则为 kGCKInvalidRequestID。
- (NSInteger) setVolume: | (float) | volume |
设置系统音量。
- Parameters
-
volume The new volume, in the range [0.0, 1.0]. Out of range values will be silently clipped.
- 返回
- 请求 ID,如果请求无法发送,则为 kGCKInvalidRequestID。
- (NSInteger) setMuted: | (BOOL) | muted |
开启或关闭静音功能。
- Parameters
-
muted Whether audio should be muted or unmuted.
- 返回
- 请求 ID,如果请求无法发送,则为 kGCKInvalidRequestID。
- (NSInteger) requestDeviceStatus |
属性详情
|
readnonatomicassign |
此对象是否会监听应用状态通知。
可以在初始化程序中指定此标记。默认值为 NO
。
|
readnonatomicassign |
设备管理器的当前连接状态。
|
readnonatomicassign |
设备管理器的当前应用连接状态。
|
readnonatomicassign |
如果设备管理器已与设备建立连接,则返回 true。
|
readnonatomicassign |
如果设备管理器已与设备上的应用建立连接,则返回 true。
|
readnonatomicassign |
如果设备管理器由于暂时性事件(例如,应用在后台运行或存在可能通过重新连接解决的网络错误)而断开连接,则为 true。
请注意,当设备管理器尝试在发生可能暂时发生的事件后重新连接时,系统不会调用断开连接/连接回调,但这些属性将始终反映实际的当前状态,并且可以被观察到。
|
readwritenonatomicassign |
如果套接字连接由于暂时性错误而断开连接,系统会尝试重新连接此时长。
默认超时时间为 15 秒。
|
readnonatomicassign |
由此 GCKDeviceManager 控制的设备。
|
readwritenonatomicweak |
用于从 GCKDeviceManager 接收通知的代理。
|
readnonatomicassign |
设备的当前音量(如果已知,范围为 [0.0, 1.0]);否则为 0。
|
readnonatomicassign |
设备当前的静音状态(如果已知);否则为 NO
。
|
readnonatomicassign |
设备当前的“有效输入”状态。
|
readnonatomicassign |
设备当前的“待机”状态。
|
readnonatomiccopy |
当前连接的接收器应用的应用会话 ID(如有);否则为 nil
。
每当接收器应用(包括同一应用重新启动)时,系统都会生成一个唯一的唯一会话 ID,只要接收器应用继续运行,它就会一直有效。
|
readnonatomiccopy |
当前在接收器上运行的接收器应用的元数据(如果有);否则为 nil
。
|
readnonatomiccopy |
当前正在运行的接收器应用最近报告的状态文本(如果有);否则为 nil
。