GCKDeviceManager 類別

GCKDeviceManager 類別參考資料

總覽

Cast 裝置的控制器。

這個類別可以傳送及接收訊息、啟動及關閉在 Cast 裝置上執行的應用程式。

只要與 Cast 裝置建立連線,或連線正在建立/中斷,GCKDeviceManager 例項就必須保持在範圍內。在以 connect (GCKDeviceManager) 啟動連線之前,或在系統叫用 deviceManager:didDisconnectWithError: (GCKDeviceManagerDelegate-p)、deviceManager:didSuspendConnectionWithReason: (GCKDeviceManagerDelegate-p) 或 deviceManager:didFailToConnectWithError: (GCKDeviceManagerDelegate-p) 委派回呼之後,都可以安全地釋放物件。

Deprecated:
使用 GCKSessionManager 和 GCKCastSession 與 Cast 接收器互動。

繼承 NSObject。

執行個體方法摘要

(instancetype) - initWithDevice:clientPackageName:
 使用指定裝置建構新的 GCKDeviceManager。更多...
 
(instancetype) - initWithDevice:clientPackageName:ignoreAppStateNotifications:
 指定初始化器。更多...
 
(void) - connect
 連線至裝置。更多...
 
(void) - disconnect
 中斷與裝置的連線。更多...
 
(void) - disconnectWithLeave:
 中斷與裝置的連線。更多...
 
(BOOL) - addChannel:
 新增可在特定命名空間中,為這部裝置收發訊息的管道。更多...
 
(BOOL) - removeChannel:
 移除先前新增的頻道。更多...
 
(NSInteger) - launchApplication:
 啟動應用程式。更多...
 
(NSInteger) - launchApplication:withLaunchOptions:
 使用指定的啟動選項啟動應用程式。更多...
 
(NSInteger) - launchApplication:relaunchIfRunning:
 啟動應用程式,如果應用程式已在執行,則可選擇重新啟動。更多...
 
(NSInteger) - joinApplication:
 加入應用程式。更多...
 
(NSInteger) - joinApplication:sessionID:
 加入具有特定應用程式工作階段 ID 的應用程式。更多...
 
(BOOL) - leaveApplication
 離開目前的應用程式。更多...
 
(NSInteger) - stopApplication
 停止所有執行中的應用程式。更多...
 
(NSInteger) - stopApplicationWithSessionID:
 停止指定應用程式工作階段 ID 的應用程式。更多...
 
(NSInteger) - setVolume:
 設定系統音量。更多...
 
(NSInteger) - setMuted:
 開啟或關閉靜音。瞭解詳情...
 
(NSInteger) - requestDeviceStatus
 要求裝置的目前狀態。更多...
 

房源摘要

BOOL ignoreAppStateNotifications
 這個物件是否會監聽應用程式狀態通知。更多...
 
GCKConnectionState connectionState
 裝置管理員目前的連線狀態。更多...
 
GCKConnectionState applicationConnectionState
 裝置管理員目前的應用程式連線狀態。更多...
 
BOOL isConnected
 如果裝置管理員已建立與裝置的連線,則為 True。更多...
 
BOOL isConnectedToApp
 如果裝置管理員已與裝置上的應用程式建立連線,則為 True。更多...
 
BOOL isReconnecting
 如果裝置管理員因可能暫時性的事件 (例如應用程式在背景執行,或發生網路錯誤,可能重新連線即可解決) 而中斷連線,則為 True。更多...
 
NSTimeInterval reconnectTimeout
 如果通訊端因暫時性錯誤而中斷連線,系統會嘗試重新連線這麼長的時間。更多...
 
GCKDevice * device
 受這個 GCKDeviceManager 控制的裝置。更多...
 
id< GCKDeviceManagerDelegate > delegate
 接收 GCKDeviceManager 通知的委派對象。更多...
 
float deviceVolume
 裝置目前的音量,範圍為 [0.0, 1.0] (如已知),否則為 0。更多...
 
BOOL deviceMuted
 裝置目前的靜音狀態 (如已知),否則為 NO。更多...
 
GCKActiveInputStatus activeInputStatus
 裝置目前的「有效輸入」狀態。更多...
 
GCKStandbyStatus standbyStatus
 裝置目前的「待機」狀態。更多...
 
NSString * applicationSessionID
 目前連線的接收器應用程式的應用程式工作階段 ID (如有),否則為 nil。更多...
 
GCKApplicationMetadata * applicationMetadata
 接收器上目前執行的接收器應用程式中繼資料 (如有),否則為 nil。更多...
 
NSString * applicationStatusText
 目前正在執行的接收器應用程式最近回報的狀態文字 (如有),否則為 nil。更多...
 

方法詳細資料

- (instancetype) initWithDevice: (GCKDevice *)  device
clientPackageName: (NSString *)  clientPackageName 

使用指定裝置建構新的 GCKDeviceManager。

這個物件會監聽應用程式狀態通知,並在應用程式進入背景時自動與裝置中斷連線,在應用程式返回前景時嘗試重新連線。

Parameters
deviceThe device to control.
clientPackageNameThe client package name.
- (instancetype) initWithDevice: (GCKDevice *)  device
clientPackageName: (NSString *)  clientPackageName
ignoreAppStateNotifications: (BOOL)  ignoreAppStateNotifications 

指定初始化器。

建構新的 GCKDeviceManager,用於控制指定裝置。

如果 ignoreAppStateNotifications 為 NO,物件會監聽應用程式狀態的變更,並在應用程式進入背景時自動與裝置中斷連線,以及在應用程式返回前景時嘗試重新連線至裝置。

如果 ignoreAppStateNotifications 是 YES,物件就不會監聽這些通知,應用程式將負責管理連線生命週期。請注意,一般來說,iOS 應用程式在背景中無法無限期執行,作業系統最終會關閉其有效網路連線。

Parameters
deviceThe device to control.
clientPackageNameThe client package name.
ignoreAppStateNotificationsWhether this object will ignore app state notifications.
- (void) connect

連線至裝置。

- (void) disconnect

中斷與裝置的連線。

這是明確的連線中斷。

在呼叫 connect 之後,且在擁有者釋出這個物件之前,必須呼叫其中一個中斷連線方法。

- (void) disconnectWithLeave: (BOOL)  leaveApplication

中斷與裝置的連線。

在呼叫 connect 之後,且在擁有者釋出這個物件之前,必須呼叫其中一個中斷連線方法。

Parameters
leaveApplicationYES if this is an explicit disconnect that should disconnect from ("leave") the receiver application before closing the connection; NO if this is an implicit disconnect that should just close the connection.
- (BOOL) addChannel: (GCKCastChannel *)  channel

新增可在特定命名空間中,為這部裝置傳送及接收訊息的管道。

Parameters
channelThe channel.
傳回
YES (如果已新增頻道) 或 NO (如果因該命名空間已附加頻道而未新增)。
- (BOOL) removeChannel: (GCKCastChannel *)  channel

移除先前新增的頻道。

Parameters
channelThe channel.
傳回
YES (如果頻道已移除),NO (如果頻道未移除,因為先前未附加指定頻道)。
- (NSInteger) launchApplication: (NSString *)  applicationID

啟動應用程式。

Parameters
applicationIDThe application ID.
傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (NSInteger) launchApplication: (NSString *)  applicationID
withLaunchOptions: (GCKLaunchOptions *__nullable)  launchOptions 

使用指定的啟動選項啟動應用程式。

Parameters
applicationIDThe application ID.
launchOptionsThe launch options for this request. If nil, defaults will be used.
傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (NSInteger) launchApplication: (NSString *)  applicationID
relaunchIfRunning: (BOOL)  relaunchIfRunning 

啟動應用程式,如果應用程式已在執行,則可選擇重新啟動。

Deprecated:
請改用 launchApplication:withLaunchOptions:。
Parameters
applicationIDThe application ID.
relaunchIfRunningIf YES, relaunches the application if it is already running instead of joining the running application.
傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (NSInteger) joinApplication: (NSString *__nullable)  applicationID

加入應用程式。

Parameters
applicationIDThe application ID. If nil, attempts to join whichever application is currently running; otherwise, attempts to join the specified application.
傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (NSInteger) joinApplication: (NSString *)  applicationID
sessionID: (NSString *)  sessionID 

加入具有特定應用程式工作階段 ID 的應用程式。

如果接收器上指定的會期 ID 不再有效,要求就會失敗。

Parameters
applicationIDThe application ID.
sessionIDThe application session ID.
傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (BOOL) leaveApplication

離開目前的應用程式。

傳回
NO,表示無法傳送訊息。
- (NSInteger) stopApplication

停止所有執行中的應用程式。

傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (NSInteger) stopApplicationWithSessionID: (NSString *__nullable)  sessionID

停止指定應用程式工作階段 ID 的應用程式。

如果接收器上指定的會期 ID 不再有效,要求就會失敗。

Parameters
sessionIDThe application session ID, which may not be nil.
傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (NSInteger) setVolume: (float)  volume

設定系統音量。

Parameters
volumeThe new volume, in the range [0.0, 1.0]. Out of range values will be silently clipped.
傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (NSInteger) setMuted: (BOOL)  muted

開啟或關閉靜音。

Parameters
mutedWhether audio should be muted or unmuted.
傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。
- (NSInteger) requestDeviceStatus

要求裝置的目前狀態。

收到更新的狀態資訊後,系統就會叫用所有委派狀態更新回呼。

傳回
要求 ID,或 kGCKInvalidRequestID (如果無法傳送要求)。

資源詳細資料

- (BOOL) ignoreAppStateNotifications
readnonatomicassign

這個物件是否會監聽應用程式狀態通知。

這個旗標可在初始化器中指定。預設值為 NO。

- (GCKConnectionState) connectionState
readnonatomicassign

裝置管理員目前的連線狀態。

- (GCKConnectionState) applicationConnectionState
readnonatomicassign

裝置管理員目前的應用程式連線狀態。

- (BOOL) isConnected
readnonatomicassign

如果裝置管理員已建立與裝置的連線,則為 True。

Deprecated:
使用 connectionState。
- (BOOL) isConnectedToApp
readnonatomicassign

如果裝置管理員已與裝置上的應用程式建立連線,則為 True。

Deprecated:
使用 applicationConnectionState。
- (BOOL) isReconnecting
readnonatomicassign

如果裝置管理工具因可能暫時性的事件 (例如應用程式在背景執行,或發生網路錯誤,但重新連線後可能解決) 而中斷連線,則為 True。

請注意,裝置管理員在可能暫時性事件後嘗試重新連線時,不會呼叫中斷連線/連線回呼,但屬性一律會反映實際的目前狀態,且可供觀察。

- (NSTimeInterval) reconnectTimeout
readwritenonatomicassign

如果通訊端因暫時性錯誤而中斷連線,系統會嘗試重新連線這麼長的時間。

預設逾時時間為 15 秒。

- (GCKDevice*) device
readnonatomicassign

這個 GCKDeviceManager 控制的裝置。

- (id<GCKDeviceManagerDelegate>) delegate
readwritenonatomicweak

可接收「GCKDeviceManager」通知的代表。

- (float) deviceVolume
readnonatomicassign

裝置目前的音量,範圍為 [0.0, 1.0] (如果已知),否則為 0。

- (BOOL) deviceMuted
readnonatomicassign

裝置目前的靜音狀態 (如已知),否則為 NO。

- (GCKActiveInputStatus) activeInputStatus
readnonatomicassign

裝置目前的「有效輸入」狀態。

- (GCKStandbyStatus) standbyStatus
readnonatomicassign

裝置目前的「待機」狀態。

- (NSString*) applicationSessionID
readnonatomiccopy

目前連線的接收器應用程式的應用程式工作階段 ID (如有),否則為 nil。

每當啟動接收器應用程式 (包括重新啟動同一個應用程式時),系統都會產生新的專屬工作階段 ID,只要接收器應用程式持續執行,這個 ID 就會維持有效。

- (GCKApplicationMetadata*) applicationMetadata
readnonatomiccopy

接收器上目前執行的接收器應用程式中繼資料 (如有),否則為 nil。

- (NSString*) applicationStatusText
readnonatomiccopy

目前正在執行的接收器應用程式最近回報的狀態文字 (如有),否則為 nil。