远程播放:prompt() 方法

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

如果用户授予权限,则 state 将设置为 connecting,用户代理将连接到设备以启动播放。

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

语法

js
prompt()

参数

无。

返回值

一个 Promise,在用户接受或拒绝提示后,该 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.
};

规范

规范
远程播放 API
# dom-remoteplayback-prompt

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。