files/en-us/web/api/remoteplayback/watchavailability/index.md
{{APIRef("Remote Playback API")}}
The watchAvailability() method of the {{domxref("RemotePlayback")}} interface watches the list of available remote playback devices and returns a {{jsxref("Promise")}} that resolves with the callbackId of a remote playback device.
watchAvailability(RemotePlaybackAvailabilityCallback)
RemotePlaybackAvailabilityCallback(boolean)
A {{jsxref("Promise")}} that resolves with an integer. This is the callbackId for the identified remote playback device.
InvalidStateError {{domxref("DOMException")}}
true for the media element.NotSupportedError {{domxref("DOMException")}}
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).
if (video.remote.state === "disconnected") {
video.remote.watchAvailability(handleAvailabilityChange).then((id) => {
log(`> Started watching remote device availability: ${id}`);
callbackId = id;
});
}
{{Specifications}}
{{Compat}}