webRTC 换设备

问题描述 投票:0回答:4

使用 javascript 如何在 webRTC 中更改所选摄像头?通过打开 webrtc 设备面板,可以更改摄像头/麦克风 - 然后页面会要求您刷新。

假设不刷新就没办法换设备,那webrtc的设备面板怎么通过javascript打开呢?

javascript webrtc
4个回答
1
投票

Firefox 刚刚使用全新的 rtpSender(以前在标准委员会中称为“doohickey”)实现了在对等连接呼叫中切换流(切换摄像头)所需功能的早期版本。

rtpSender.replaceTrack(新轨道,成功,失败)。它假定您已经有一个(单独的)媒体流,并且另一个摄像头处于打开状态。这在 Android 上有点棘手,因为您一次只能激活一个摄像头。

Chrome 倾向于限制您的设备选择,除非您使用设备枚举器并指定设备。


0
投票

我刚刚检查了 firefox(桌面浏览器),在 webrtc 调用之间,我刚刚调用了

navigator.getUserMedia({
        'audio': true, 
        'video': {...

它给了我选择设备的选项,我只有一个摄像头,所以只有那个选项,但对于麦克风,我有多个选项,也在 chrome 中选中,因为在 chrome 中,你没有选择麦克风选项的选项,它只是给了我允许/拒绝的选项。


0
投票

您可以使用 getUserMedia API 请求访问摄像头,然后传入指定所需摄像头的 MediaStreamConstraints 对象。

这是一个选择前置摄像头的示例代码片段:

const constraints = {
  video: { 
    facingMode: { exact: "user" } 
  } 
};

navigator.mediaDevices.getUserMedia(constraints)
  .then((stream) => {
    // do something with the stream
  })
  .catch((error) => {
    console.error(error);
  });

-1
投票
© www.soinside.com 2019 - 2024. All rights reserved.