fix(camera): always try cam facing environment

This commit is contained in:
0ry5 2024-09-13 22:24:04 +02:00
parent afdc95d5c6
commit 46198913b1

View file

@ -103,15 +103,25 @@ export const useScanner = ({
};
const getCameraId = useCallback(async () => {
await navigator.mediaDevices.getUserMedia({
video: true,
const stream = await navigator.mediaDevices.getUserMedia({
video: { facingMode: "environment" },
});
if (
stream &&
stream.getVideoTracks().length &&
stream.getVideoTracks()[0].getSettings().deviceId
) {
return stream.getVideoTracks()[0].getSettings().deviceId;
}
const devices = await navigator.mediaDevices
.enumerateDevices()
.then((ds) => ds.filter((d) => d.kind === "videoinput"));
const back = devices.filter((d) => d.label === "Back Camera")[0];
const back = devices.filter((d) =>
d.label.toLowerCase().includes("back")
)[0];
return !back ? devices[0].deviceId : back.deviceId;
}, []);