GCKSessionManager 类

GCKSessionManager 类参考

概览

用于管理会话的类。

方法 startSessionWithDevice: (GCKSessionManager) 用于创建具有指定 GCKDevice 的新会话。会话管理器使用相应设备类型的 GCKDeviceProvider 来构建新的 GCKSession 对象,然后将所有会话请求委托给该对象。

GCKSessionManager 用于处理已暂停会话的自动恢复(即恢复在应用进入后台时结束的会话,或在应用崩溃或被用户强制终止时结束的会话)。当应用恢复或重新启动时,会话管理器会等待一小段时间,以便已暂停会话的设备提供程序再次发现该设备,如果发现,则会尝试自动重新连接到该设备并重新建立会话。

如果应用创建了 GCKUICastButton 但未提供目标和选择器,那么用户点按该按钮时将显示默认的 Cast 对话框,并且系统会根据用户选择或断开设备连接的情况自动启动和停止会话。不过,如果应用提供自己的设备选择/控制对话框界面,则应直接使用 GCKSessionManager 来创建和控制会话。

无论应用是否使用 GCKSessionManager 来控制会话,它都可以附加 GCKSessionManagerListener 以接收会话事件通知,还可以使用 KVO 监控 connectionState 属性来跟踪当前会话生命周期状态。

开始时间
3.0

此类继承 NSObject。

实例方法摘要

(instancetype) - init
 默认初始化程序不可用。更多…
 
(BOOL) - startSessionWithDevice:
 使用指定设备启动新会话。更多…
 
(BOOL) - suspendSessionWithReason:
 暂停当前会话。更多…
 
(BOOL) - endSession
 结束当前会话。更多…
 
(BOOL) - endSessionAndStopCasting:
 结束当前会话,可以选择停止投放。更多…
 
(BOOL) - hasConnectedSession
 测试会话当前是否由相应会话管理器管理,以及会话当前是否已连接。更多…
 
(BOOL) - hasConnectedCastSession
 测试 Cast 会话当前是否由相应会话管理器管理,以及是否已连接。更多…
 
(void) - addListener:
 添加用于接收通知的监听器。更多…
 
(void) - removeListener:
 移除之前使用 addListener: 添加的监听器。更多…
 

房源摘要

GCKSessioncurrentSession
 当前会话(如果有)。更多…
 
GCKCastSessioncurrentCastSession
 当前的投屏会话(如果有)。更多…
 
GCKConnectionState connectionState
 当前会话连接状态。更多…
 

方法详细信息

- (instancetype) init

默认初始化程序不可用。

- (BOOL) startSessionWithDevice: (GCKDevice *)  device

使用指定设备启动新会话。

这是一项异步操作。

Parameters
deviceThe device to use for this session.
返回
如果操作已成功开始,则返回
YES;如果当前已建立会话或操作无法开始,则返回 NO
- (BOOL) suspendSessionWithReason: (GCKConnectionSuspendReason reason

暂停当前会话。

这是一项异步操作。

Parameters
reasonThe reason for the suspension.
返回
如果操作已成功开始,则返回
;如果没有当前已建立的会话或无法开始操作,则返回 NOYES
- (BOOL) endSession

结束当前会话。

这是一项异步操作。

返回
如果操作已成功开始,则返回
;如果没有当前已建立的会话或无法开始操作,则返回 NOYES
- (BOOL) endSessionAndStopCasting: (BOOL)  stopCasting

结束当前会话,并可选择停止投放。

这是一项异步操作。

Parameters
stopCastingWhether casting of content on the receiver should be stopped when the session is ended.
返回
如果操作已成功开始,则返回
;如果没有当前已建立的会话或无法开始操作,则返回 NOYES
- (BOOL) hasConnectedSession

测试会话当前是否由相应会话管理器管理,以及会话当前是否已连接。

如果会话状态为 GCKConnectionStateConnected,则此值为 YES

- (BOOL) hasConnectedCastSession

测试 Cast 会话当前是否由相应会话管理器管理,以及是否已连接。

如果会话状态为 GCKConnectionStateConnected 且会话为 Cast 会话,则此值为 YES

- (void) addListener: (id< GCKSessionManagerListener >)  listener

添加用于接收通知的监听器。

Parameters
listenerThe listener to add.
- (void) removeListener: (id< GCKSessionManagerListener >)  listener

移除之前使用 addListener: 添加的监听器。

Parameters
listenerThe listener to remove.

媒体资源详情

- (GCKSession*) currentSession
readnonatomicstrong

当前会话(如果有)。

- (GCKCastSession*) currentCastSession
readnonatomicstrong

当前的投屏会话(如果有)。

- (GCKConnectionState) connectionState
readnonatomicassign

当前会话连接状态。