Safari打开摄像头不管怎么切换deviceID都是前置摄像头

+1 投票
最新提问 10月 19, 2018 用户: kasuga2020 (130 分)

我同样的代码在安卓的浏览器,和插了两个摄像头的PC上测试,都可以自由切换两个摄像头。

就是safari不行。求解,代码是经过安卓和PC测试的,确实没有问题。就是github上的代码

这个是列出所有摄像头的代码

this.listCamera = function(videoDevice) {

videoDeviceElement = videoDevice;

return new Promise((resolve, reject) => {

navigator.mediaDevices.enumerateDevices()

.then((devices) => {

devices.find((device) => {

if (device.kind === 'videoinput') {

const option = document.createElement('option');

option.text = device.label || 'camera '+ (videoDeviceElement.length + 1).toString();

option.value = device.deviceId;

videoDeviceElement.appendChild(option);

console.log(device);

}

});

if (videoDeviceElement.length === 0) {

reject('没有摄像头');

} else {

videoDeviceElement.style.display = 'inline-block';

// 创建canvas,截取摄像头图片时使用

canvasElement = document.createElement('canvas');

canvasContext = canvasElement.getContext('2d');

resolve(true);

}

})

.catch((err) => {

reject(err);

});

});

};

登录 或者 注册 后回答这个问题。

欢迎来到 EasyAR Q&A ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...