Class: shaka.cast.CastProxy

A proxy to switch between local and remote playback for Chromecast in a way that is transparent to the app's controls.

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. If blank, casting will not be available, but the proxy will still function otherwise.
Implements:
Source:

Members

compiledToExternNames_ :Map

Type:
  • Map
Source:

localPlayer_ :Object

Type:
  • Object
Source:

localPlayer_[undefined] :Object

Type:
  • Object
Source:

localPlayer_[undefined] :Object

Type:
  • Object
Source:

playerProxy_ :Object

Type:
  • Object
Source:

playerProxy_ :EventTarget

Type:
  • EventTarget
Source:

receiverAppId_ :string

Type:
  • string
Source:

videoProxy_ :Object

Type:
  • Object
Source:

videoProxy_ :EventTarget

Type:
  • EventTarget
Source:

Methods

canCast() → {boolean}

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

cast() → {Promise}

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

changeReceiverId(newAppId)

Parameters:
Name Type Description
newAppId string
Source:

destroy(forceDisconnectopt) → {Promise}

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

forceDisconnect()

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

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

init_()

Initialize the Proxies and the Cast sender.
Source:

isCasting() → {boolean}

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

iterateOverPlayerMethods_(operation)

Iterates over all of the methods of the player, including inherited methods from FakeEventTarget.
Parameters:
Name Type Description
operation function(string, function())
Source:

mapCompiledToUncompiledPlayerMethodNames_()

Maps compiled to uncompiled player names so we can figure out which method to call in compiled build, while casting.
Source:

onCastStatusChanged_()

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

onFirstCastStateUpdate_()

Dispatch a synthetic play or pause event to ensure that the app correctly knows that the player is playing, if joining an existing receiver.
Source:

onRemoteEvent_(targetName, eventnon-null)

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

onResumeLocal_()

Transfer remote state back and resume local playback.
Source:

playerProxyGet_(name) → {?}

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

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

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:

videoProxyGet_(name) → {?}

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

videoProxyLocalEvent_(eventnon-null)

Parameters:
Name Type Description
event Event
Source:

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: