Web アプリを構築していて、カメラでバーコードをキャプチャしようとしています。私はQuaggaJSライブラリを使用しています。
ラップトップのウェブカメラでアプリを使用すると、バーコードがキャプチャされましたが、約 30% の精度しかありませんでしたが、モバイルでこれを使用しようとすると、バーコードをまったくキャプチャできませんでした。その理由は、アプリが私のデバイスで超広角レンズを選択したため、画像が大きく歪んだためだと思います.
ドキュメントを読んで、私はこれを見ました:
背面カメラを要求するには、次を使用します。
{ audio: true, video: { facingMode: { exact: "environment" } } }
ユーザーが 5 つの背面カメラを持っている場合はどうなりますか? どうすれば正しいものを知ることができますか?
ここに私のコードがあります:
useEffect(() => {
Quagga.init(
{
inputStream: {
name: "Live",
type: "LiveStream",
target: ".scannerArea", // Or '#yourElement' (optional),
constraints: {
facingMode: "environment",
},
},
decoder: {
readers: ["code_128_reader", "upc_reader", "ean_reader"],
},
},
function (err) {
if (err) {
console.log(err);
return;
}
console.log("Initialization finished. Ready to start");
Quagga.start();
}
);
Quagga.onDetected((result) => {
let last_code = result.codeResult.code;
alert(last_code);
Quagga.stop();
});
}, []);