問題タブ [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.

0 投票する
1 に答える
1499 参照

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 が使用する音声をどのように制御しますか?

0 投票する
0 に答える
142 参照

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を使用するように切り替えることで、この問題を解決できるのではないかと考えています。これが、スクリプト プロセッサ ノードの使用方法です (参照ライブラリでも確認できます)。