以下内容适用于桌面Chrome / Safari / Firefox,但不适用于移动设备。
即使在Chrome手机上,我也有1)SpeechRecognition
完美无缺; 2)SpeechSynthesisUtterance
正确加载,我可以检查所有属性,加载声音(通过DevTools进行远程调试) - 只是手机不会说话(iPhone Safari和Android Chrome测试)。
此外,当我在移动设备上尝试此demo时,它说我的浏览器支持语音合成,我可以从可用的语音中进行选择,但浏览器不会说话。
任何想法可能会出现问题吗?
<script>
var u = new SpeechSynthesisUtterance();
u.text = "hello world";
speechSynthesis.speak(u);
</script>
答案 0 :(得分:0)
在相关问题中,以下代码在Chrome Android中说话,但事件监听器似乎没有调用NextWord功能,而它在MacOS上的Chrome和Safari上正常工作:
speechTextString = "Hello World"
speechText = new SpeechSynthesisUtterance( speechTextString );
speechText.onboundary = function (event) {
if ( event.name == "word" ) { NextWord( event.charIndex ) }
};
答案 1 :(得分:0)
您是否尝试过在SpeechSynthesis前面添加窗口? 代码是window.speechSynthesis.speak(u)。
答案 2 :(得分:0)
Android Chrome浏览器:
我用Java脚本打开了“如此美妙,精彩,梦幻般的HTML页面”,但发现手机上没有任何内容...(Android)
1。)我用Google搜索并发现了https://support.google.com/accessibility/android/answer/6006983?hl=en
文本到语音输出 要为您的设备指定文字转语音设置: 打开设备的“设置”应用。 选择辅助功能,然后选择文本转语音输出。 选择您喜欢的引擎,语言,语速和音调。 注意:默认的文本语音转换引擎选择因设备而异。选项可以包括Google的文本转语音引擎,设备制造商的引擎以及您从Google Play商店下载的任何第三方文本转语音引擎。 可选:要收听语音合成的简短演示,请按Play。 可选:要安装其他语言的语音数据,请选择设置,然后选择安装语音数据。选择您要安装的语言。
注意:(选择“辅助功能”,然后选择“文本到语音”输出。)
我激活了“触摸听”功能,因为我的选择充满了所有内容,但上面没有提到。相反,“ TalkBack”太重了,所以我将其“未使用/未选择” ...
2。)speechSynthesis.resume()和speechSynthesis.pause();除检测到移动浏览器/触摸设备外,目前不行,目前没有其他解决方案。