如何在iOS 11 Safari上使用mediaDevices.enumerateDevices()识别前后摄像头

Luk*_*nis 6 javascript html5 mobile-safari ios getusermedia

我正在使用getUserMedia()在iOS 11的Safari上捕获相机流.当我使用MediaDevices API 获取摄像机列表时,标签为空白.有没有办法可靠地确定哪个摄像头指向哪个方向?

navigator.mediaDevices.enumerateDevices().then(function(devices) {
    devices.forEach(function(device) {
        if(device.kind === 'videoinput') {
            console.log(device);
            // Labels for both cameras are blank:
            // MediaDeviceInfo { deviceId: "123ABC", groupId: "", kind: "videoinput", label: "" }
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

小智 0

这些文档听起来像是用户可能必须授予权限才能提供标记的相机数据。

它说:

这可能会产生

videoinput: id = csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=
audioinput: id = RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=
audioinput: id = r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
Run Code Online (Sandbox Code Playgroud)

或者如果一个或多个 MediaStream 处于活动状态或授予持久权限:

videoinput: FaceTime HD Camera (Built-in) 
id=csO9c0YpAf274OuCPUA53CNE0YHlIr2yXCi+SqfBZZ8=
audioinput: default (Built-in Microphone)
id=RKxXByjnabbADGQNNZqLVLdmXlS0YkETYCIbg+XxnvM=
audioinput: Built-in Microphone id=r2/xw1xUPIyZunfV1lGrKOma5wTOvCkWfZ368XCndm0=
Run Code Online (Sandbox Code Playgroud)

对我来说,这意味着问题可能在于用户权限。