QuaggaJSを使用して、デバイスのカメラストリームから直接バーコードを読み取るモバイルバーコードスキャナーを構築しています。デスクトップ/ Androidでは正常に動作しますが、iOSではまったく動作しません。
最初の調査から、iOSはSafariまたはiOSを介してWebRTC/getUserMedia
をサポートしていないことがわかりましたChrome(下記の関連リンク))カメラストリーム。
この質問 iOSでの静止画像のキャプチャについても見てきましたが、提供されている答えは静止画像のキャプチャのみであり、ストリームをリアルタイムで読み取るためのものではありません。
私の質問-iOSカメラからストリームを取得する他の方法はありますか?おそらく、getUserMedia
を使用しないQuaggaJS以外の代替ライブラリですか?私はJavaScriptに精通していないので、getUserMedia
以外のカメラストリームにアクセスする方法があるかどうかはわかりません。
「いいえ」はここで受け入れられる答えです。私は単に、ガイダンスを提供してくれるより経験豊富な人を探しています。
付録/関連リンク:
navigator.getUserMedia代替API for iOS safariモバイルブラウザー?
https://www.quora.com/Why-is-navigator-getUserMedia-not-supported-in-Safari
2017年のアップデート:Apple getUserMediaがついにサポートされることが発表されましたiOS11。
2019年8月の更新:Safariでのみ機能し、いかなる種類のWebViewでも機能しません。コメントをありがとう@Klathmon。
QuaggaJSページには、質問に答える機能互換性マトリックスがあります。
getusermediaはiOSサファリではサポートされていません。
QuaggaJSドキュメントに従って( https://github.com/serratus/quaggaJS#browser-support )
Quaggaは、すべてのブラウザでまだ実装されていない最新のWeb-APIを多数利用しています。 Quaggaが動作する2つのモードがあります。
静止画像の分析と
カメラを使用してライブストリームから画像をデコードする。後者には、MediaDevices APIの存在が必要です。各モードで使用されるWeb-APIの互換性を追跡できます。
ライブストリームモードはサポートされていないため、iOSでは静止画像モードを使用することをお勧めします。