GCKSession 类

GCKSession 类参考

概览

一个抽象基类,表示与接收方设备的会话。

子类必须实现 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
 已弃用,请勿使用 - 作为空操作实现。了解详情...
 

属性摘要

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

方法详细信息

- (instancetype) initWithDevice: (GCKDevice *)  device
traits: (nullable GCKSessionTraits *)  traits
sessionID: (nullable NSString *)  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.
- (instancetype) initWithDevice: (GCKDevice *)  device
traits: (nullable GCKSessionTraits *)  traits
sessionID: (nullable NSString *)  sessionID
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions 

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

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.
sessionOptionsThe session options, if any; otherwise nil.
开始时间
4.0
- (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) endWithAction: (GCKSessionEndAction action

结束具有指定操作的会话。

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

Parameters
actionThe action to take when ending the session; see GCKSessionEndAction for more details.

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

- (void) notifyDidStartWithSessionID: (NSString *)  sessionID

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

Parameters
sessionIDThe session's unique ID.

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

- (void) notifyDidFailToStartWithError: (GCKError *)  error

由子类调用,以通知框架会话无法启动。

Parameters
errorThe error that occurred.

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

- (void) notifyDidEndWithError: (nullable NSError *)  error
willTryToResume: (BOOL)  willTryToResume 

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

Parameters
errorThe error that caused the session to end, if any. Should be nil if the session was ended intentionally.
willTryToResumeWhether the session will try to resume itself automatically.

由“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: (nullable NSString *)  statusText

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

Parameters
statusTextThe new status.

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

- (void) notifyDidSuspendWithReason: (GCKConnectionSuspendReason reason

已弃用,请勿使用 - 作为空操作实现。

Deprecated:
请勿拨打电话。

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

- (void) notifyDidResume

已弃用,请勿使用 - 作为空操作实现。

Deprecated:
请勿拨打电话。

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

房源详情

- (GCKDevice*) device
readnonatomicstrong

此会话关联的设备。

- (NSString*) sessionID
readnonatomiccopy

当前会话 ID(如果有)。

- (GCKSessionOptions*) sessionOptions
readnonatomicstrong

会话选项(如果有)。

开始时间
4.0
- (GCKConnectionState) connectionState
readnonatomicassign

当前的会话连接状态。

- (BOOL) suspended
readnonatomicassign

一个标记,指示会话当前是否已暂停。

Deprecated:
GCKSession”不再支持处于暂停状态。如果需要,请将此功能移至子类。
- (NSString*) deviceStatusText
readnonatomiccopy

当前设备状态文本。

- (GCKSessionTraits*) traits
readnonatomiccopy

会话 trait。

- (float) currentDeviceVolume
readnonatomicassign

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

- (BOOL) currentDeviceMuted
readnonatomicassign

当前设备静音状态。

- (GCKRemoteMediaClient*) remoteMediaClient
readnonatomicstrong

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

nil 会话开始之前,或者如果会话不支持 GCKRemoteMediaClient API。提供 GCKRemoteMediaClient 接口的子类必须替换 getter 方法。

- (GCKMediaMetadata*) mediaMetadata
readnonatomicstrong

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

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