問題タブ [sfspeechrecognizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - supportsOnDeviceRecognition が true でオフライン モードが使用可能な場合、SFSpeechRecognizer には制限がありますか?
Apple のドキュメントによると、SFSpeechRecognizer
送信できるリクエストの数には制限があります。
音声認識の制限によって引き起こされる障害に対処する準備をしてください。音声認識はネットワーク ベースのサービスであるため、サービスをすべてのアプリで自由に利用できるように制限が適用されます。個々のデバイスは、1 日に実行できる認識の数が制限される場合があり、各アプリは、1 日に行う要求の数に基づいてグローバルに調整される場合があります。認識要求がすぐに (開始から 1 ~ 2 秒以内に) 失敗する場合は、認識サービスが利用できなくなったかどうかを確認してください。そうである場合は、ユーザーに後で再試行するように依頼することができます。 https://developer.apple.com/documentation/speech/sfspeechrecognizer
別の文書によると、デバイスは 1 時間あたり 1000 件のリクエストを送信できます。
デバイスが実行できる SFSpeechRecognitionRequest 呼び出しの現在のレート制限は、1 時間あたり 1000 要求です。この制限は、デバイスが作成できるリクエストの数に関するものであり、それを作成するアプリケーションには関連付けられていないことに注意してください。これは、リクエストに関連付けられた音声の長さに関係ありません。特定の SFSpeechRecognitionRequest では、リクエストごとに最大 1 分間の音声が許可されます。
現在、以下に示すように を作成しており、音声認識エンジンがネットワーク アクセスなしで動作できるかどうかを示すプロパティをSFSpeechRecognizer
確認しています。iOS 13.2.3 がインストールされたデバイスsupportsOnDeviceRecognition
に戻ります。true
アプリケーションをオフラインで実行しようとしましたが、インターネットに接続していなくても正常に動作します。ただし、リクエスト制限がまだあるかどうかについては情報がありませんsupportsOnDeviceRecognition
。この状況でSFSpeechRecognizer
は、デバイスがインターネットに接続されていても、必要がないため、Apple サーバーに接続しない可能性があります。レート制限supportsOnDeviceRecognition
は true の場合のみですか?