GCKSession 类

GCKSession 类参考文档

概览

代表与接收方设备的会话的抽象基类。

子类必须实现 start (GCKSession(Protected))endAndStopCasting: (GCKSession(Protected))suspendWithReason: (GCKSession(Protected))resume (GCKSession(Protected)) 方法,并且必须调用相应的通知程序方法(如 notifyDidStartWithSessionID: (GCKSession(Protected)))来指示会话状态中发生的相应变化。如果设备支持此类操作,子类还可以实现 setDeviceVolume: (GCKSession)setDeviceMuted: (GCKSession)remoteMediaClient

会话是通过 GCKSessionManager 中的会话方法来创建和控制的,该方法使用适当的 GCKDeviceProvider 来创建会话,然后将会话请求委托给该 GCKSession 对象。

辛塞
3.0

此类继承 NSObject。

已由 GCKCastSession 继承。

实例方法摘要

(instancetype) - initWithDevice:traits:sessionID:
 初始化给定设备的新会话对象。更多...
 
(GCKRequest *) - setDeviceVolume:
 设置设备的音量。更多...
 
(GCKRequest *) - setDeviceMuted:
 设置设备的静音状态。更多...
 
(void) - start
 启动会话。更多...
 
(void) - endAndStopCasting:
 结束会话。更多...
 
(void) - suspendWithReason:
 出于给定原因暂停会话。更多...
 
(void) - resume
 继续会话。更多...
 
(void) - notifyDidStartWithSessionID:
 由子类调用以通知框架会话已启动。更多...
 
(void) - notifyDidFailToStartWithError:
 由子类调用以通知框架会话失败。更多...
 
(void) - notifyDidResume
 由子类调用以通知框架会话已恢复。更多...
 
(void) - notifyDidSuspendWithReason:
 由子类调用以通知框架会话已被暂停。更多...
 
(void) - notifyDidEndWithError:
 由子类调用以通知框架会话已结束。更多...
 
(void) - notifyDidReceiveDeviceVolume:muted:
 由子类调用,以通知框架已收到设备已更新的设备音量和静音状态。更多...
 
(void) - notifyDidReceiveDeviceStatus:
 由子类调用,以通知框架已从设备收到更新状态。更多...
 

属性摘要

GCKDevicedevice
 与此会话相关联的设备。更多...
 
NSString * sessionID
 当前会话 ID(如果有)。更多...
 
GCKConnectionState connectionState
 当前会话连接状态。更多...
 
BOOL suspended
 此标记指示会话当前是否已暂停。更多...
 
NSString * deviceStatusText
 当前设备状态文本。更多...
 
GCKSessionTraitstraits
 会话特征。更多...
 
float currentDeviceVolume
 当前设备音量,范围为 [0.0, 1.0]。更多...
 
BOOL currentDeviceMuted
 当前设备静音状态。更多...
 
GCKRemoteMediaClientremoteMediaClient
 可用于控制此会话中的媒体播放的 GCKRemoteMediaClient 对象。更多...
 
GCKMediaMetadatamediaMetadata
 当前媒体元数据(如果有)。更多...
 

方法详细信息

- (instancetype) initWithDevice: (GCKDevice *)  device
traits: (GCKSessionTraits *)  traits
sessionID: (NSString *__nullable)  sessionID 

初始化给定设备的新会话对象。

Parameters
deviceThe device.
traitsThe session traits.
sessionIDThe session ID of an existing session, if this object will be used to resume a session; otherwise nil if it will be used to start a new session.
- (GCKRequest *) setDeviceVolume: (float)  volume

设置设备的音量。

这是一项异步操作。默认实现是一个空操作,它会使请求失败,并返回 GCKErrorCodeUnsupportedFeature 错误。

Parameters
volumeThe new volume.
返回
用于跟踪请求的 GCKRequest 对象。
辛塞
3.4;在以前的框架版本中,此方法返回 void
- (GCKRequest *) setDeviceMuted: (BOOL)  muted

设置设备的静音状态。

这是一项异步操作。默认实现是一个空操作,它会使请求失败,并返回 GCKErrorCodeUnsupportedFeature 错误。

Parameters
mutedThe new mute state.
返回
用于跟踪请求的 GCKRequest 对象。
辛塞
3.4;在以前的框架版本中,此方法返回 void
- (void) start

启动会话。

这是一项异步操作。必须替换为子类。

由类别“GCKSession(Protected)”提供。

- (void) endAndStopCasting: (BOOL)  stopCasting

结束会话。

这是一项异步操作。必须替换为子类。

Parameters
stopCastingWhether to stop casting content to the receiver.

由类别“GCKSession(Protected)”提供。

- (void) suspendWithReason: (GCKConnectionSuspendReason reason

出于给定原因暂停会话。

这是一项异步操作。必须替换为子类。

由类别“GCKSession(Protected)”提供。

- (void) resume

继续会话。

这是一项异步操作。必须替换为子类。

由类别“GCKSession(Protected)”提供。

- (void) notifyDidStartWithSessionID: (NSString *)  sessionID

由子类调用以通知框架会话已启动。

Parameters
sessionIDThe session's unique ID.

由类别“GCKSession(Protected)”提供。

- (void) notifyDidFailToStartWithError: (NSError *)  error

由子类调用以通知框架会话失败。

Parameters
errorThe error that occurred.

由类别“GCKSession(Protected)”提供。

- (void) notifyDidResume

由子类调用以通知框架会话已恢复。

由类别“GCKSession(Protected)”提供。

- (void) notifyDidSuspendWithReason: (GCKConnectionSuspendReason reason

由子类调用以通知框架会话已被暂停。

Parameters
reasonThe reason for the suspension.

由类别“GCKSession(Protected)”提供。

- (void) notifyDidEndWithError: (NSError *__nullable)  error

由子类调用以通知框架会话已结束。

Parameters
errorThe error that caused the session to end, if any. Should be nil if the session was ended intentionally.

由类别“GCKSession(Protected)”提供。

- (void) notifyDidReceiveDeviceVolume: (float)  volume
muted: (BOOL)  muted 

由子类调用,以通知框架已收到设备已更新的设备音量和静音状态。

Parameters
volumeThe device's current volume. Must be in the range [0, 1.0];
mutedThe device's current mute state.

由类别“GCKSession(Protected)”提供。

- (void) notifyDidReceiveDeviceStatus: (NSString *__nullable)  statusText

由子类调用,以通知框架已从设备收到更新状态。

Parameters
statusTextThe new status.

由类别“GCKSession(Protected)”提供。

属性详情

- (GCKDevice*) device
readnonatomicstrong

与此会话相关联的设备。

- (NSString*) sessionID
readnonatomiccopy

当前会话 ID(如果有)。

- (GCKConnectionState) connectionState
readnonatomicassign

当前会话连接状态。

- (BOOL) suspended
readnonatomicassign

此标记指示会话当前是否已暂停。

- (NSString*) deviceStatusText
readnonatomiccopy

当前设备状态文本。

- (GCKSessionTraits*) traits
readnonatomiccopy

会话特征。

- (float) currentDeviceVolume
readnonatomicassign

当前设备音量,范围为 [0.0, 1.0]。

- (BOOL) currentDeviceMuted
readnonatomicassign

当前设备静音状态。

- (GCKRemoteMediaClient*) remoteMediaClient
readnonatomicstrong

可用于控制此会话中的媒体播放的 GCKRemoteMediaClient 对象。

如果会话尚未开始或者会话不支持 GCKRemoteMediaClient API,该时间将为 nil。提供 GCKRemoteMediaClient 接口的子类必须替换 getter 方法。

- (GCKMediaMetadata*) mediaMetadata
readnonatomicstrong

当前媒体元数据(如果有)。

如果会话不支持媒体命名空间,或者接收器上目前未加载任何媒体,则此值为 nil