Compare commits

...

2 commits

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