RemotePlayback: prompt() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

prompt() 方法是 RemotePlayback 接口的一部分,它会提示用户选择一个可用的远程播放设备,并授予将当前媒体在该设备上播放的权限。

如果用户授予了权限,state 将被设置为 connecting,用户代理将连接到设备以开始播放。

如果用户选择断开与设备的连接,state 将被设置为 disconnected,用户代理将断开与该设备的连接。

语法

js
prompt()

参数

无。

返回值

一个 Promise,在用户接受或拒绝提示后,将以 undefined 解析。

异常

Promise 将会因为以下异常之一而被拒绝:

InvalidStateError DOMException

如果媒体元素的 disableRemotePlaybacktrue,则抛出此异常。

OperationError DOMException

如果对于该媒体元素或浏览上下文,之前调用 prompt() 已有一个未完成的 Promise。

InvalidAccessError DOMException

如果用户最近没有与该设备进行交互。

NotSupportedError DOMException

如果用户代理知道该特定媒体无法进行远程播放。

NotFoundError DOMException

如果远程播放不可用。

NotAllowedError DOMException

如果用户拒绝使用该设备的权限。

安全

需要瞬时用户激活。用户必须与页面或 UI 元素进行交互才能使此功能正常工作。

示例

在下面的示例中,将提示用户选择一个远程播放设备来播放视频。

js
devicesBtn.onclick = () => {
  // Request the user to select a remote playback device.
  videoElem.remote
    .prompt()
    // Update the UI and monitor the connected state.
    .then(updateRemotePlaybackState);
  // Otherwise, the user cancelled the selection UI or no screens were found.
};

规范

规范
Remote Playback API
# dom-remoteplayback-prompt

浏览器兼容性