Overview
An abstract base class representing a session with a receiver device.
Subclasses must implement the start (GCKSession(Protected)) , endAndStopCasting: (GCKSession(Protected)) , suspendWithReason: (GCKSession(Protected)) , and resume (GCKSession(Protected)) methods, and must call the appropriate notifier methods (for example, notifyDidStartWithSessionID: (GCKSession(Protected)) ) to indicate corresponding changes in the session state. Subclasses may also implement setDeviceVolume: (GCKSession) , setDeviceMuted: (GCKSession) and remoteMediaClient if the device supports such operations.
A session is created and controlled using the session methods in GCKSessionManager , which uses the appropriate GCKDeviceProvider to create the session, and then delegates session requests to that GCKSession object.
- Since
- 3.0
Inherits NSObject.
Inherited by GCKCastSession .
Method Detail
- (instancetype) initWithDevice: | ( GCKDevice *) | device | |
traits: | ( GCKSessionTraits *) | traits | |
sessionID: | (NSString *__nullable) | sessionID | |
Initializes a new session object for the given device.
- 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.
- ( GCKRequest *) setDeviceVolume: | (float) | volume |
Sets the device's volume.
This is an asynchronous operation. The default implementation is a no-op that fails the request with a GCKErrorCodeUnsupportedFeature error.
- Parameters
- volumeThe new volume.
- Returns
- A GCKRequest object for tracking the request.
- Since
- 3.4; in previous framework versions, this method returned
void
.
- ( GCKRequest *) setDeviceMuted: | (BOOL) | muted |
Sets the device's mute state.
This is an asynchronous operation. The default implementation is a no-op that fails the request with a GCKErrorCodeUnsupportedFeature error.
- Parameters
- mutedThe new mute state.
- Returns
- A GCKRequest object for tracking the request.
- Since
- 3.4; in previous framework versions, this method returned
void
.
- (void) start |
Starts the session.
This is an asynchronous operation. Must be overridden by subclasses.
Provided by category GCKSession(Protected) .
- (void) endAndStopCasting: | (BOOL) | stopCasting |
Ends the session.
This is an asynchronous operation. Must be overridden by subclasses.
- Parameters
- stopCastingWhether to stop casting content to the receiver.
Provided by category GCKSession(Protected) .
- (void) suspendWithReason: | ( GCKConnectionSuspendReason ) | reason |
Suspends the session for the given reason.
This is an asynchronous operation. Must be overridden by subclasses.
Provided by category GCKSession(Protected) .
- (void) resume |
Resumes the session.
This is an asynchronous operation. Must be overridden by subclasses.
Provided by category GCKSession(Protected) .
- (void) notifyDidStartWithSessionID: | (NSString *) | sessionID |
Called by subclasses to notify the framework that the session has been started.
- Parameters
- sessionIDThe session's unique ID.
Provided by category GCKSession(Protected) .
- (void) notifyDidFailToStartWithError: | (NSError *) | error |
Called by subclasses to notify the framework that the session has failed to start.
- Parameters
- errorThe error that occurred.
Provided by category GCKSession(Protected) .
- (void) notifyDidResume |
Called by subclasses to notify the framework that the session been resumed.
Provided by category GCKSession(Protected) .
- (void) notifyDidSuspendWithReason: | ( GCKConnectionSuspendReason ) | reason |
Called by subclasses to notify the framework that the session has been suspended.
- Parameters
- reasonThe reason for the suspension.
Provided by category GCKSession(Protected) .
- (void) notifyDidEndWithError: | (NSError *__nullable) | error |
Called by subclasses to notify the framework that the session has ended.
- Parameters
- errorThe error that caused the session to end, if any. Should be
nil
if the session was ended intentionally.
Provided by category GCKSession(Protected) .
- (void) notifyDidReceiveDeviceVolume: | (float) | volume | |
muted: | (BOOL) | muted | |
Called by subclasses to notify the framework that updated device volume and mute state has been received from the device.
- Parameters
-
volume The device's current volume. Must be in the range [0, 1.0]; muted The device's current mute state.
Provided by category GCKSession(Protected) .
- (void) notifyDidReceiveDeviceStatus: | (NSString *__nullable) | statusText |
Called by subclasses to notify the framework that updated status has been received from the device.
- Parameters
- statusTextThe new status.
Provided by category GCKSession(Protected) .
Property Detail
The device that this session is associated with.
The current session ID, if any.
The current session connection state.
A flag indicating whether the session is currently suspended.
The current device status text.
The session traits.
The current device volume, in the range [0.0, 1.0].
The current device mute state.
The GCKRemoteMediaClient object that can be used to control media playback in this session.
It is nil
before the session has started, or if the session does not support the GCKRemoteMediaClient
API. Subclasses which provide a GCKRemoteMediaClient
interface must override the getter method.
The current media metadata, if any.
Will be nil
if the session does not support the media namespace or if no media is currently loaded on the receiver.