Class: shaka.cast.CastProxy

Constructor

new CastProxy(videonon-null, playernon-null, receiverAppId)

A proxy to switch between local and remote playback for Chromecast in a way that is transparent to the app's controls.
Parameters:
Name Type Description
video HTMLMediaElement The local video element associated with the local Player instance.
player shaka.Player A local Player instance.
receiverAppId string The ID of the cast receiver application.
Implements:
Extends:
Source:

Members

dispatchTarget :EventTarget

The target of all dispatched events. Defaults to |this|.
Type:
  • EventTarget
Inherited From:
Source:

(private) eventManager_ :shaka.util.EventManager

Type:
Source:

(private, non-null) listeners_ :shaka.util.MultiMap.<shaka.util.FakeEventTarget.ListenerType>

Type:
Inherited From:
Source:

(private) localPlayer_ :shaka.Player

Type:
Source:

(private) localVideo_ :HTMLMediaElement

Type:
  • HTMLMediaElement
Source:

(private) playerEventTarget_ :shaka.util.FakeEventTarget

Type:
Source:

(private) playerProxy_ :Object

Type:
  • Object
Source:

(private) sender_ :shaka.cast.CastSender

Type:
Source:

(private) videoEventTarget_ :shaka.util.FakeEventTarget

Type:
Source:

(private) videoProxy_ :Object

Type:
  • Object
Source:

Methods

addEventListener(type, listener, opt_capturingopt)

Add an event listener to this object.
Parameters:
Name Type Attributes Description
type string The event type to listen for.
listener shaka.util.FakeEventTarget.ListenerType The callback or listener object to invoke.
opt_capturing boolean <optional>
Ignored. FakeEventTargets do not have parents, so events neither capture nor bubble.
Inherited From:
Source:

canCast() → {boolean}

Source:
Returns:
True if the cast API is available and there are receivers.
Type
boolean

cast() → (non-null) {Promise}

Source:
Returns:
Resolved when connected to a receiver. Rejected if the connection fails or is canceled by the user.
Type
Promise

destroy(opt_forceDisconnectopt) → (non-null) {Promise}

Destroys the proxy and the underlying local Player.
Parameters:
Name Type Attributes Description
opt_forceDisconnect boolean <optional>
If true, force the receiver app to shut down by disconnecting. Does nothing if not connected.
Implements:
Source:
Returns:
Type
Promise

dispatchEvent(eventnon-null) → {boolean}

Dispatch an event from this object.
Parameters:
Name Type Description
event Event The event to be dispatched from this object.
Inherited From:
Source:
Returns:
True if the default action was prevented.
Type
boolean

forceDisconnect()

Force the receiver app to shut down by disconnecting.
Source:

(private) getInitState_() → {shaka.cast.CastUtils.InitStateType}

Source:
Returns:
initState Video and player state to be sent to the receiver.
Type
shaka.cast.CastUtils.InitStateType

getPlayer() → {shaka.Player}

Get a proxy for the Player that delegates to local and remote Player objects as appropriate.
Source:
Returns:
Type
shaka.Player

getVideo() → {HTMLMediaElement}

Get a proxy for the video element that delegates to local and remote video elements as appropriate.
Source:
Returns:
Type
HTMLMediaElement

(private) init_()

Initialize the Proxies and the Cast sender.
Source:

isCasting() → {boolean}

Source:
Returns:
True if we are currently casting.
Type
boolean

(private) onCastStatusChanged_()

Dispatch an event to notify the app that the status has changed.
Source:

(private) onRemoteEvent_(targetName, eventnon-null)

Parameters:
Name Type Description
targetName string
event shaka.util.FakeEvent
Source:

(private) onResumeLocal_()

Transfer remote state back and resume local playback.
Source:

(private) playerProxyGet_(name) → {?}

Parameters:
Name Type Description
name string
Source:
Returns:
Type
?

(private) playerProxyLocalEvent_(eventnon-null)

Parameters:
Name Type Description
event Event
Source:

receiverName() → {string}

Source:
Returns:
The name of the Cast receiver device, if isCasting().
Type
string

removeEventListener(type, listener, opt_capturingopt)

Remove an event listener from this object.
Parameters:
Name Type Attributes Description
type string The event type for which you wish to remove a listener.
listener shaka.util.FakeEventTarget.ListenerType The callback or listener object to remove.
opt_capturing boolean <optional>
Ignored. FakeEventTargets do not have parents, so events neither capture nor bubble.
Inherited From:
Source:

setAppData(appData)

Set application-specific data.
Parameters:
Name Type Description
appData Object Application-specific data to relay to the receiver.
Source:

suggestDisconnect()

Show a dialog where user can choose to disconnect from the cast connection.
Source:

(private) videoProxyGet_(name) → {?}

Parameters:
Name Type Description
name string
Source:
Returns:
Type
?

(private) videoProxyLocalEvent_(eventnon-null)

Parameters:
Name Type Description
event Event
Source:

(private) videoProxySet_(name, value)

Parameters:
Name Type Description
name string
value ?
Source:

Events

CastStatusChangedEvent

Fired when cast status changes. The status change will be reflected in canCast() and isCasting().
Properties:
Name Type Description
type string 'caststatuschanged'
Source: