問題タブ [android-chrome]
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.
javascript - Android-Chrome の SpeechSynthesis: 英語の音声を米国英語から変更できません
Android-Chrome で音声合成 API を使用しています。問題は、英語の音声が 4 つありますが、コードの指定に関係なく、ブラウザで使用されるのは常に米国英語です。フランス語などの他の言語を使用できますが、en-AU、GB、または IN などの他の英語の音声は使用できません。
このコードは、getVoices 配列からイギリス英語の音声オブジェクトをフィルター処理し、最初の音声オブジェクトを使用して「tomato」という単語を発声します。問題は、単語が常に「to-mar-to」ではなく「to-may-lo」と発音されることです。これは、私のテキストが本来の韻を踏まないことを意味します。
使用された音声オブジェクトが表示され、(私が試した電話では) GB のものです。
html...
そして脚本…
jsbin: https://jsbin.com/xefukemuga/edit?html,js,output これを Android Chrome で実行し、「tomato」という単語をタップします。
私はあちこちを検索し、さまざまな修正を試みました。Android-Chrome が使用する音声をどのように制御しますか?
javascript - Android Chrome でオーディオを歪ませるブロブ
マイクからオーディオ ストリームを入力し、それを blob に保存して、Speech Recognition API エンドポイントに送信できるようにしようとしています。これはデスクトップの Google Chrome では完全に機能しますが、モバイル デバイスのブラウザー (Android Google Chrome) に切り替えるとエラーが発生することに気付きました。オーディオをファイルに出力した後、デスクトップではファイルの音は問題なく聞こえますが、私の電話では完全に歪んでいることがわかりました。さらに調査した結果、Android chromeは Blob をサポートしていないようです。
この問題の回避策はありますか?
これは、音声を Blob に追加してファイルに保存する方法です。
更新: オーディオをファイルに保存しようとしていますが、reader.readAsDataURL() およびその他のリーダー メソッド (このリンクによると) は blob オブジェクトを想定しています。私のオーディオ オブジェクトは ArrayBuffer の型です。私の他の質問は、ArrayBuffer をファイルに出力するにはどうすればよいですか?
別の更新:このリンクによると、Blob は android chrome でサポートされている必要があります。それにもかかわらず、音声が歪んでいます。問題は別の場所にある可能性がありますか?
更新: さらに調査した結果、オーディオ配列が適切にエンコードされていない可能性があることがわかりました。マイクからの音声を処理するために、ScriptProcessor を使用していますが、このリンクによると、これは非推奨であり、android chrome ではサポートされていません。オーディオ入力のエンコード方法については、このライブラリをご覧ください。Audio Workletを使用するように切り替えることで、この問題を解決できるのではないかと考えています。これが、スクリプト プロセッサ ノードの使用方法です (参照ライブラリでも確認できます)。