getDisplayMedia() 在 Android 设备上无法正常工作

AnK*_*ing 8 javascript twilio webrtc reactjs get-display-media

我需要将用户显示媒体(屏幕截图)连接到 webRTC 应用程序。

以下代码用于启动屏幕捕获:

navigator.mediaDevices.getDisplayMedia({video: true})
Run Code Online (Sandbox Code Playgroud)

这会提示用户有关屏幕捕获的信息,并创建一个视频流,在授予权限后即可使用该视频流。但是我无法让它在 iOS 或 Android 设备上运行。

iPad 我正在测试此功能,但无法找到navigator.mediaDevices.getDisplayMedia - undefined (iOS 13.3)

当我尝试调用 Android 上的 Chrome (v79) 时,它显示以下错误:

DOMException:无效状态

根据此: https: //developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia 如果代码不是由用户操作启动,则可能会生成错误,但这不应该是问题就我而言,因为代码是这样调用的:

startScreenSharing = event => {
 navigator.mediaDevices.getDisplayMedia({video: true})
}

<Button onClick={this.startScreenSharing} />
Run Code Online (Sandbox Code Playgroud)

事件变量保存有效事件,但我仍然收到“无效状态”错误。

这一定是我所缺少的,因为它在桌面 Chrome 和 Safari 上运行良好。

编辑

我遇到了这个:getDisplayMedia 和屏幕录制的演示,并在此网页上生成了相同的错误。这可能是由于我的硬件设备设置造成的吗?

小智 5

Android 和 iOS 不支持 getDisplayMedia()。

根据链接,目前 iOS 或 Android 不支持该功能,但 Macos 的 Safari 13 支持该功能。

  • 安卓什么时候支持? (7认同)