merge-always-use-environment-camera #11

Merged
0Ry5 merged 1 commit from always-use-environment-camera into main 2024-09-13 22:24:52 +02:00

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;
}, []);