RemotePlayback: watchAvailability() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The watchAvailability() method of the RemotePlayback interface watches the list of available remote playback devices and returns a Promise that resolves with the callbackId of a remote playback device.

Syntax

js
watchAvailability(RemotePlaybackAvailabilityCallback)

Parameters

RemotePlaybackAvailabilityCallback(boolean)

A callback that allows the page to obtain the remote playback device availability for the corresponding media element. It is passed a boolean which, if true, indicates that remote playback is available.

Return value

A Promise that resolves with an integer. This is the callbackId for the identified remote playback device.

Exceptions

InvalidStateError DOMException

Thrown if disableRemotePlayback is true for the media element.

NotSupportedError DOMException

Thrown if the user agent is unable to continuously monitor the list of available remote playback devices.

Examples

In the following example, after checking that there is no currently connected device, watchAvailability() is used to watch for remote devices becoming available. See the working example (Requires a supported device and a connected remote playback device).

js
if (video.remote.state === "disconnected") {
  video.remote.watchAvailability(handleAvailabilityChange).then((id) => {
    log(`> Started watching remote device availability: ${id}`);
    callbackId = id;
  });
}

Specifications

Specification
Remote Playback API
# dom-remoteplayback-watchavailability

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
watchAvailability
Chrome – Full support
Chrome 121 (Release date: 2024-01-23)
footnote Full support
Edge – Full support
Edge 121 (Release date: 2024-01-25)
footnote Full support
Firefox – No support
Firefox
footnote No support
Opera – Full support
Opera 107 (Release date: 2024-02-07)
footnote Full support
Safari – Full support
Safari 13.1 (Release date: 2020-03-24)
footnote Full support
Chrome Android – Full support
Chrome Android 56 (Release date: 2017-02-01)
footnote Full support
Firefox for Android – No support
Firefox for Android
footnote No support
Opera Android – Full support
Opera Android 43 (Release date: 2017-09-27)
footnote Full support
Safari on iOS – Full support
Safari on iOS 13.4 (Release date: 2020-03-24)
footnote Full support
Samsung Internet – Full support
Samsung Internet 6 (Release date: 2017-08-23)
footnote Full support
WebView Android – No support
WebView Android
footnote No support
WebView on iOS – Full support
WebView on iOS 13.4 (Release date: 2020-03-24)
footnote Full support

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support