H5のスキャン機能実現可能性レポート

背景: 小規模なプログラム環境には多くの制限があるため、WeChat 環境を取り除くために、h5 側でスキャン機能を実現できることが期待されています。

解決策 1: <input type="file" />

    <input type="file" /> は現在、ほとんどのモバイル ブラウザでサポートされており、互換性が高く、カメラやフォト アルバムを開いてファイルを選択し、画像を解釈できます。

    欠点:

              1. カメラの電源を入れた後、カメラのコンテンツをキャプチャすることはできず、現在一般的な QR コードをスキャンする方法は実現できません。

              2. 写真の品質要件は高く、少しぼやけていると認識に失敗します。

    アドバンテージ:

             1. 優れた互換性

  ブラウザの互換性をテストします。

              1. UCブラウザは成功するが、カメラが認識されないことが多い

              2. 360 ブラウザが正常に動作しました

              3. QQ ブラウザは正常に動作しますが、写真が認識されないことがよくあります

              4. Sogou ブラウザが正常に動作しました

    QR コードをテストします:

             

解決策 2: navigator.getUserMedia

   HTML5 のgetUserMedia API は、ユーザーがハードウェア デバイス メディア (カメラ、ビデオ、オーディオ、地理的位置など) にアクセスするためのインターフェイスを提供しますが、現在、ブラウザーはこのインターフェイスを十分にサポートしていません。

navigator.getUserMediaで取得したビデオストリームをvideo.play()に変換し  、 canvasを使用してビデオをキャンバスに変換し、キャンバス上の画像を解析してQRコード情報を取得できます。

  欠点:

     1.ブラウザの互換性が低い

     2. 携帯電話は QR コードをスキャンするときに対面する必要があります

     3. QR コードは非常に鮮明である必要があります

  アドバンテージ:

     1. 現在主流のQRコード読み取りを実現可能

   ブラウザの互換性をテストします。

     1. UCブラウザが失敗しました

     2. 360 ブラウザが正常に動作しました

     3. QQ ブラウザが正常に動作しました

     4. Sogou ブラウザが失敗しました

 QR コードをテストします:

 

上記のテストに基づくと、携帯電話ハードウェア上のブラウザーの制限により、h5 がカメラを呼び出して QR コードを認識するのに適した一般的なソリューションは現在ありません。

おすすめ

転載: blog.csdn.net/weixin_42252416/article/details/104749200