GCKCastSession 类

GCKCastSession 类参考

概览

用于管理与接收端设备的 Cast 会话的类。

会话由 GCKSessionManager 自动创建和管理。应用不应直接调用 start (GCKSession(Protected))endWithAction: (GCKSession(Protected)) 等会话生命周期方法。

开始时间
3.0

继承 GCKSession

实例方法摘要

(instancetype) - initWithDevice:sessionID:sessionOptions:castOptions:
 使用给定的 Cast 选项构造新的 Cast 会话。更多...
 
(BOOL) - addChannel:
 向会话注册频道。更多...
 
(BOOL) - removeChannel:
 从会话中移除以前注册的频道。更多...
 
(void) - addDeviceStatusListener:
 GCKCastDeviceStatusListener 添加到此对象的监听器列表中。更多...
 
(void) - removeDeviceStatusListener:
 从此对象的监听器列表中移除 GCKCastDeviceStatusListener更多...
 
(GCKRequest *) - setDeviceVolume:forMultizoneDevice:
 在多可用区组中设置单个设备的音量。更多...
 
(GCKRequest *) - setDeviceMuted:forMultizoneDevice:
 在多可用区组中设置个别设备的静音状态。更多...
 
(GCKRequest *) - requestMultizoneStatus
 向多可用区组请求多可用区状态。更多...
 
(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
 已弃用,请勿使用 - 作为空操作实现。了解详情...
 

属性摘要

GCKActiveInputStatus activeInputStatus
 设备当前的“有效输入源”状态。更多...
 
GCKStandbyStatus standbyStatus
 设备当前的“待机”状态。更多...
 
GCKApplicationMetadataapplicationMetadata
 当前在接收端设备上运行的接收端应用的元数据(如果有);否则为 nil更多...
 
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
sessionID: (nullable NSString *)  sessionID
sessionOptions: (nullable GCKSessionOptions *)  sessionOptions
castOptions: (GCKCastOptions *)  castOptions 

使用给定的 Cast 选项构造新的 Cast 会话。

Parameters
deviceThe receiver device.
sessionIDThe session ID, if resuming; otherwise nil.
sessionOptionsThe session options, if any; otherwise nil.
castOptionsThe Cast options.
开始时间
4.0
- (BOOL) addChannel: (GCKCastChannel *)  channel

向会话注册频道。

如果会话已连接,且接收方应用支持该频道的命名空间,则该通道将自动连接。如果会话未连接,则渠道将保持断开连接状态,直到会话开始。

Parameters
channelThe channel to register.
返回
如果渠道注册成功,则为 YES;否则为 NO
- (BOOL) removeChannel: (GCKCastChannel *)  channel

从会话中移除以前注册的频道。

Parameters
channelThe channel to unregister.
返回
如果频道取消注册成功,则为 YES;否则为 NO
- (void) addDeviceStatusListener: (id< GCKCastDeviceStatusListener >)  listener

GCKCastDeviceStatusListener 添加到此对象的监听器列表中。

添加的监听器处于弱保留状态,应保留该监听器,以避免意外取消分配。

Parameters
listenerThe listener to add.
- (void) removeDeviceStatusListener: (id< GCKCastDeviceStatusListener >)  listener

从此对象的监听器列表中移除 GCKCastDeviceStatusListener

Parameters
listenerThe listener to remove.
- (GCKRequest *) setDeviceVolume: (float)  volume
forMultizoneDevice: (GCKMultizoneDevice *)  device 

在多可用区组中设置单个设备的音量。

这是一项异步操作。

Parameters
volumeThe new volume, in the range [0.0, 1.0].
deviceThe multizone device.
返回
一个用于跟踪请求的 GCKRequest 对象。
- (GCKRequest *) setDeviceMuted: (BOOL)  muted
forMultizoneDevice: (GCKMultizoneDevice *)  device 

在多可用区组中设置个别设备的静音状态。

这是一项异步操作。

Parameters
mutedThe new muted state.
deviceThe multizone device.
返回
一个用于跟踪请求的 GCKRequest 对象。
- (GCKRequest *) requestMultizoneStatus

向多可用区组请求多可用区状态。

这是一项异步操作。收到多可用区状态后,系统将消息 castSession:didReceiveMultizoneStatus: (GCKCastDeviceStatusListener-p) 委托方法。

返回
一个用于跟踪请求的 GCKRequest 对象。
- (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)”类别提供。

房源详情

- (GCKActiveInputStatus) activeInputStatus
readnonatomicassign

设备当前的“有效输入源”状态。

- (GCKStandbyStatus) standbyStatus
readnonatomicassign

设备当前的“待机”状态。

- (GCKApplicationMetadata*) applicationMetadata
readnonatomiccopy

当前在接收端设备上运行的接收端应用的元数据(如果有);否则为 nil

- (GCKDevice*) device
readnonatomicstronginherited

此会话关联的设备。

- (NSString*) sessionID
readnonatomiccopyinherited

当前会话 ID(如果有)。

- (GCKSessionOptions*) sessionOptions
readnonatomicstronginherited

会话选项(如果有)。

开始时间
4.0
- (GCKConnectionState) connectionState
readnonatomicassigninherited

当前的会话连接状态。

- (BOOL) suspended
readnonatomicassigninherited

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

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

当前设备状态文本。

- (GCKSessionTraits*) traits
readnonatomiccopyinherited

会话 trait。

- (float) currentDeviceVolume
readnonatomicassigninherited

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

- (BOOL) currentDeviceMuted
readnonatomicassigninherited

当前设备静音状态。

- (GCKRemoteMediaClient*) remoteMediaClient
readnonatomicstronginherited

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

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

- (GCKMediaMetadata*) mediaMetadata
readnonatomicstronginherited

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

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