反应简单的WebRTC选择设备

问题描述

我正在使用Simple WebRTC使用React + Typescript开发视频会议应用程序,我想实现一个视图,以允许用户选择其音频输入,输出以及视频设备。

我注意到该库处理自己的具有设备和媒体字段的商店。该库还具有显示音频和视频可用设备的组件,但是我看不到任何更改存储中媒体的操作,因为这就是SWRTC.Video组件(我用来显示视频屏幕)接收以显示视频以及音频。

我所拥有的是deviceid上的<select>,但是我需要deviceid中的媒体将其作为道具传递给SWRTC.Video组件。我一直在阅读https://docs.simplewebrtc.com/上的文档,但是我看不到有任何支持它的示例,因此他们也没有几个示例,因此,如果有人以前从事过类似的工作,也许会对我有所帮助。

解决方法

用户navigator.mediaDevices.enumerateDevices()获取所有设备。每个设备都有一个字段deviceId。当您请求使用navigator.mediaDevices.getUserMedia(opts)进行流传输时,可以将选项deviceId添加到选项中以获取所选设备。

示例选择:

const opts = {
  audio: {
    deviceId: 'someID'
  }
}