概览
一个抽象基类,表示与接收方设备的会话。
子类必须实现 start (GCKSession(Protected)) 和 endWithAction: (GCKSession(Protected)) 方法,并且必须调用适当的通知程序方法(例如 notifyDidStartWithSessionID: (GCKSession(Protected)))来指示会话状态的相应更改。如果设备支持 setDeviceVolume: (GCKSession)、setDeviceMuted: (GCKSession) 和 remoteMediaClient,子类还可以实现此类操作。
会话通过 GCKSessionManager 中的会话方法创建和控制,该方法会使用适当的 GCKDeviceProvider 来创建会话,然后将会话请求委托给该 GCKSession 对象。
- 开始时间
- 3.0
此类继承 NSObject。
由 GCKCastSession 继承。
实例方法摘要 | |
(instancetype) | - initWithDevice:traits:sessionID: |
使用默认选项为指定设备初始化新的会话对象。更多... | |
(instancetype) | - initWithDevice:traits:sessionID:sessionOptions: |
为指定设备初始化新的会话对象。更多... | |
(GCKRequest *) | - setDeviceVolume: |
设置设备的音量。更多... | |
(GCKRequest *) | - setDeviceMuted: |
设置设备的静音状态。更多... | |
(void) | - start |
启动会话。更多... | |
(void) | - endWithAction: |
结束具有指定操作的会话。更多... | |
(void) | - notifyDidStartWithSessionID: |
由子类调用,以通知框架已启动会话。更多... | |
(void) | - notifyDidFailToStartWithError: |
由子类调用,以通知框架会话无法启动。更多... | |
(void) | - notifyDidEndWithError:willTryToResume: |
由子类调用,以通知框架会话已结束。更多... | |
(void) | - notifyDidReceiveDeviceVolume:muted: |
由子类调用,以通知框架已从设备收到更新后的设备音量和静音状态。更多... | |
(void) | - notifyDidReceiveDeviceStatus: |
由子类调用,以通知框架已从设备收到更新后的状态。更多... | |
(void) | - notifyDidSuspendWithReason: |
已弃用,请勿使用 - 作为空操作实现。了解详情... | |
(void) | - notifyDidResume |
已弃用,请勿使用 - 作为空操作实现。了解详情... | |
属性摘要 | |
GCKDevice * | device |
此会话关联的设备。更多... | |
NSString * | sessionID |
当前会话 ID(如果有)。更多... | |
GCKSessionOptions * | sessionOptions |
会话选项(如果有)。更多... | |
GCKConnectionState | connectionState |
当前的会话连接状态。更多... | |
BOOL | suspended |
一个标记,指示会话当前是否已暂停。更多... | |
NSString * | deviceStatusText |
当前设备状态文本。更多... | |
GCKSessionTraits * | traits |
会话 trait。更多... | |
float | currentDeviceVolume |
当前设备音量,范围为 [0.0, 1.0]。更多... | |
BOOL | currentDeviceMuted |
当前设备静音状态。更多... | |
GCKRemoteMediaClient * | remoteMediaClient |
可用于在此会话中控制媒体播放的 GCKRemoteMediaClient 对象。更多... | |
GCKMediaMetadata * | mediaMetadata |
当前媒体元数据(如果有)。更多... | |
方法详细信息
- (instancetype) initWithDevice: | (GCKDevice *) | device | |
traits: | (nullable GCKSessionTraits *) | traits | |
sessionID: | (nullable NSString *) | sessionID | |
使用默认选项为指定设备初始化新的会话对象。
- Parameters
-
device The device. traits The session traits. sessionID The 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.
- (instancetype) initWithDevice: | (GCKDevice *) | device | |
traits: | (nullable GCKSessionTraits *) | traits | |
sessionID: | (nullable NSString *) | sessionID | |
sessionOptions: | (nullable GCKSessionOptions *) | sessionOptions | |
为指定设备初始化新的会话对象。
- Parameters
-
device The device. traits The session traits. sessionID The 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.sessionOptions The session options, if any; otherwise nil
.
- 开始时间
- 4.0
- (GCKRequest *) setDeviceVolume: | (float) | volume |
设置设备的音量。
这是一项异步操作。默认实现是一个空操作,该操作会使请求失败并显示 GCKErrorCodeUnsupportedFeature 错误。
- Parameters
-
volume The new volume.
- 返回
- 一个用于跟踪请求的 GCKRequest 对象。
- 开始时间
- 3.4;在之前的框架版本中,此方法返回
void
。
- (GCKRequest *) setDeviceMuted: | (BOOL) | muted |
设置设备的静音状态。
这是一项异步操作。默认实现是一个空操作,该操作会使请求失败并显示 GCKErrorCodeUnsupportedFeature 错误。
- Parameters
-
muted The new mute state.
- 返回
- 一个用于跟踪请求的 GCKRequest 对象。
- 开始时间
- 3.4;在之前的框架版本中,此方法返回
void
。
- (void) start |
- (void) endWithAction: | (GCKSessionEndAction) | action |
结束具有指定操作的会话。
这是一项异步操作。必须被子类替换。
- Parameters
-
action The action to take when ending the session; see GCKSessionEndAction for more details.
由“GCKSession(Protected)”类别提供。
- (void) notifyDidStartWithSessionID: | (NSString *) | sessionID |
- (void) notifyDidFailToStartWithError: | (GCKError *) | error |
- (void) notifyDidEndWithError: | (nullable NSError *) | error | |
willTryToResume: | (BOOL) | willTryToResume | |
由子类调用,以通知框架会话已结束。
- Parameters
-
error The error that caused the session to end, if any. Should be nil
if the session was ended intentionally.willTryToResume Whether the session will try to resume itself automatically.
由“GCKSession(Protected)”类别提供。
- (void) notifyDidReceiveDeviceVolume: | (float) | volume | |
muted: | (BOOL) | muted | |
由子类调用,以通知框架已从设备收到更新后的设备音量和静音状态。
- Parameters
-
volume The device's current volume. Must be in the range [0, 1.0]; muted The device's current mute state.
由“GCKSession(Protected)”类别提供。
- (void) notifyDidReceiveDeviceStatus: | (nullable NSString *) | statusText |
- (void) notifyDidSuspendWithReason: | (GCKConnectionSuspendReason) | reason |
- (void) notifyDidResume |
房源详情
|
readnonatomicstrong |
此会话关联的设备。
|
readnonatomiccopy |
当前会话 ID(如果有)。
|
readnonatomicstrong |
会话选项(如果有)。
- 开始时间
- 4.0
|
readnonatomicassign |
当前的会话连接状态。
|
readnonatomicassign |
一个标记,指示会话当前是否已暂停。
- Deprecated:
- “GCKSession”不再支持处于暂停状态。如果需要,请将此功能移至子类。
|
readnonatomiccopy |
当前设备状态文本。
|
readnonatomiccopy |
会话 trait。
|
readnonatomicassign |
当前设备音量,范围为 [0.0, 1.0]。
|
readnonatomicassign |
当前设备静音状态。
|
readnonatomicstrong |
可用于在此会话中控制媒体播放的 GCKRemoteMediaClient 对象。
在 nil
会话开始之前,或者如果会话不支持 GCKRemoteMediaClient API。提供 GCKRemoteMediaClient 接口的子类必须替换 getter 方法。
|
readnonatomicstrong |
当前媒体元数据(如果有)。
如果会话不支持媒体命名空间或接收器上当前未加载任何媒体,则值为 nil
。