ブラウザがプロジェクトの speechSynthesis をサポートしていない場合、Google の translate_tts をフォールバックとして使用しようとしています。
現在、html5 オーディオを適切に動作させるのに問題があります。なぜそれがうまくいかなかったのか、一日中頭をかきむしり、グーグルで調べていました。その後、IIS と関係があるという記事やフォーラムに出くわしました。そこで、サイトの外でテストコードを実行して何が起こるかを確認しましたが、これが正しく機能することに驚きました! しかし、IIS で実行されている元のプロジェクトで同じコードを使用すると、機能しません。そして、IIS EXPRESS を使用すると機能します。IIS で MIME タイプを確認すると、mpeg と mp3 が存在します。
JavaScript で実行しても、IIS では機能しません。
TextToSpeech.Audio = document.createElement("AUDIO");
TextToSpeech.Audio.src = url;
TextToSpeech.Audio.playbackRate = 1;
TextToSpeech.Audio.preload = 'auto';
TextToSpeech.Audio.volume = 1; // 0 to 1;
TextToSpeech.Audio.addEventListener('ended', function () {
//i have some code here...
});
TextToSpeech.Audio.addEventListener('error', function (error) { });
TextToSpeech.Audio.play();
誰かがこの問題に遭遇し、たまたまそれを解決しましたか? あなたの助けは大歓迎です、ありがとう!
更新:さらにグーグルで調べた後、これは適切なホスト名を持つIISでホストされているサイト内から呼び出しており、IIS ExpressがGoogleがnoreferrerと見なすlocalhost:PORTでサイトを実行している可能性がありますか?