モバイル Web サイトで SpeechSynthesisUtterance を使用しています。このコードは、デスクトップ版の Web サイトで使用しても問題ありません。しかし、次のように document.ready のモバイル ブラウザで関数が機能しないことがわかりました。
$(document).ready(function(){
var text_tts="say something";
speakText(text_tts);
});
function speakText(text_tts){
var u = new SpeechSynthesisUtterance();
u.text = text_tts;
u.lang = 'en-US';
u.rate = 1;
u.onend = function(event) { console.log('Finished in ' + event.elapsedTime + ' seconds.'); }
speechSynthesis.speak(u);
}
しかし、「クリック」イベントを使用すると、次のように機能します。
$("body").on("click",".button",function(){
var tmp_body_text="say something";
var u = new SpeechSynthesisUtterance();
u.text = tmp_body_text;
u.lang = 'en-US';
u.rate = 1;
//u.onend = function(event) { console.log('Finished in ' + event.elapsedTime + ' seconds.'); }
speechSynthesis.speak(u);
});
助けてください。ありがとうございました。