0

我想选择要使用的相机。我发现存在: enumerateDevices()

https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices

if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
  console.log("enumerateDevices() not supported.");
  return;
}

// List cameras and microphones.

navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
  devices.forEach(function(device) {
    console.log(device.kind + ": " + device.label +
                " id = " + device.deviceId);
  });
})
.catch(function(err) {
  console.log(err.name + ": " + err.message);
});

我试过了,但它没有返回任何相机设备。

4

1 回答 1

0

我测试了你的代码,它工作正常。它会将 mediaDevices 列表返回给我。

audioinput: id = default
audioinput: id = communications
audioinput: id = 59392f81738870b09dec51e4375320b0a0ae2f7c44a2683272491e708c3c5cf4
videoinput: id = ae367efe808e935504983bda9831593a5324b3d5e9b79f8801eb9d9d55406531
 audiooutput: id = default
 audiooutput: id = communications
 audiooutput: id = 65235ec7e9c60747b6c24f3de8305f2ceead65432841a7706d57dae87412e1b

我只是在您的“if”中出现了一个错误:“Illegal return statement”。您必须删除退货。

if (!navigator.mediaDevices ||!navigator.mediaDevices.enumerateDevices) {
  console.log ("enumerateDevices () not supported.");
}
于 2020-02-13T10:37:42.960 回答