我想知道媒体流轨道的实际FaceingMode,以便根据是否在设备的背面或前面的活动摄像头来反转图像。如果实际的FaceingMode是“用户”,则视频的css属性将是:transfrom:scaleX(-1),如果FaceingMode是“ environment”,则我不会反转图像。
这是我的代码平安:
navigator.mediaDevices.getUserMedia({ facingMode: "environement", width: { ideal: 4096 } })
.then (function(mediaStream){
video.srcObject = mediaStream;
console.log('facingmode: ' + video.srcObject.getTracks()[0].getSettings().facingMode);
});
在Chrome浏览器中,所有工作均按预期进行:控制台显示“环境”或“用户”,具体取决于实际使用的摄像机
在firefox中,控制台始终显示“ undefined”(未预期)(计算机和智能手机上的行为相同)
有人可以帮我在Firefox中检索实际的FaceingMode吗?
谢谢
最佳答案
Firefox可以毫无问题地返回正确的facing mode。我已经使用以下代码对其进行了测试:
navigator.mediaDevices.getUserMedia({ video: true})
.then(function(stream) {
console.log(stream.getTracks()[0].getSettings().facingMode);
})
.catch(function(err) {
console.log(err)
});
您遇到的问题可能是您没有授权页面使用相机。转到
Preferences -> Permissions -> Camera -> Settings ...
并取消选中Block new requests asking to access your camera
。