GCKCastSession 類別

GCKCastSession 類別參考資料

總覽

此類別可管理使用接收端裝置的投放工作階段。

工作階段是由 GCKSessionManager 自動建立及管理。應用程式不應直接呼叫工作階段生命週期方法,例如 start (GCKSession(Protected))endWithAction: (GCKSession(Protected))

開始時間
3.0

繼承 GCKSession

執行個體方法摘要

(instancetype) - initWithDevice:sessionID:sessionOptions:castOptions:
 使用指定的投放選項建構新的投放工作階段。更多...
 
(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:
 子類別會呼叫此 API,通知架構已收到裝置傳來的更新音量和靜音狀態。更多...
 
(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
 工作階段特性。更多...
 
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 

使用指定的投放選項建構新的投放工作階段。

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 

子類別會呼叫此 API,通知架構已收到裝置傳來的更新音量和靜音狀態。

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

工作階段特性。

- (float) currentDeviceVolume
readnonatomicassigninherited

目前裝置音量,範圍為 [0.0, 1.0]。

- (BOOL) currentDeviceMuted
readnonatomicassigninherited

目前裝置的靜音狀態。

- (GCKRemoteMediaClient*) remoteMediaClient
readnonatomicstronginherited

GCKRemoteMediaClient 物件可用於在這個工作階段中控制媒體播放。

nil 是指工作階段開始之前,或是工作階段不支援 GCKRemoteMediaClient API。提供 GCKRemoteMediaClient 介面的子類別必須覆寫 getter 方法。

- (GCKMediaMetadata*) mediaMetadata
readnonatomicstronginherited

目前的媒體中繼資料 (如果有的話)。

如果工作階段不支援媒體命名空間,或是目前接收器上未載入任何媒體,則為 nil