前提・実現したいこと
iPhone6にて、Web画面表示時に自動的にWebSpeechAPI(speechSynthesis.speak)による発話を行わせたい。
発生している問題・エラーメッセージ
問題は、Web画面表示時(window.loadイベント)にWebSpeechAPIを実行するようにしたが、iPhone6から発話されないことです。
ボタンタッチ(onclick="speak()")はiPhoneから発話されました。
画面スクロール時($(window).scroll)は以下の手順のときのみ発話しました。
先に画面スクロールした場合は発話しませんでした。
1.ボタンタッチ →ここで一度発話
2.画面スクロール→再度発話
該当のソースコード
<html> <head> <meta charset="utf-8"> <meta http-equiv="cache-control" content="no-cache"> <meta name="viewport" content="width=device-width"> <title>シンプルなデモ | Web Speech API -> speechSynthesis</title> <!--link rel="stylesheet" href="demo.css" type="text/css"--> <script type="text/javascript" src='js/jquery.min.js'></script> </head> <body style="height:3000px;"> <h1>シンプルなデモ</h1> <input class="text" value="Web Speech API を使ってみよう!"> <button id="btn" onclick="speak()">speak()</button> <script> window.onload = function () { speechSynthesis.cancel(); speak(); } $(window).scroll(function(){ alert("scr"); speak(); }); function speak() { alert("はつわ"); //固定された値 var text = "固定された値"; speechSynthesis.speak( new SpeechSynthesisUtterance(text) ); } </script> </body> </html>
補足情報(FW/ツールのバージョンなど)
使用デバイス:iPhone6
OS:iOS10.2.1
空きストレージ:200~250MB
使用ブラウザ:Chrome・Safari
パソコンでは問題なく動作。
あなたの回答
tips
プレビュー