gpt4 book ai didi

javascript - 在 Firefox 中获取 mediaStreamTrack 的实际 facesMode

转载 作者:行者123 更新时间:2023-11-28 03:06:44 25 4
gpt4 key购买 nike

我想知道媒体流轨道的实际 facesMode,以便根据事件摄像头位于设备的背面还是正面来反转(镜像)图像。如果实际的faceingMode为“user”,则视频的CSS属性将为:transform:scaleX(-1);如果 facesMode 是“environment”,我不会反转图像。

这是我的代码:

navigator.mediaDevices.getUserMedia({ facingMode: "environment", width: { ideal: 4096 } })
.then (function(mediaStream){
video.srcObject = mediaStream;
console.log('facingmode: ' + video.srcObject.getTracks()[0].getSettings().facingMode);
});

在 Chrome 中,一切都按预期进行:控制台显示“环境”或“用户”,具体取决于实际事件的摄像头。

在 Firefox 中,控制台始终显示“未定义”(不符合预期)(计算机和智能手机上的行为相同)。

有人可以帮我在 Firefox 中检索实际的 facesMode 吗?谢谢

最佳答案

在 Android 版 Firefox 和其他客户端中仍然不提供 MediaTrackSettings.facingMode ,解决方法是检查 MediaStreamTrack.label ,例如:

const isEnvironment =
"environment" == video.srcObject.getVideoTracks()[0].getSettings().facingMode
|| video.srcObject.getVideoTracks()[0].label.indexOf("acing back") !== -1;

不幸的是,labels may vary跨用户代理。

上面的代码片段适用于 Firefox Mobile 68。即使在德语中,后置摄像头的标签也是“摄像头 0,朝后,方向 90”。

关于javascript - 在 Firefox 中获取 mediaStreamTrack 的实际 facesMode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60546677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com