Web Speech API文字转语音无法在移动设备

时间:2017-11-17 18:16:32

标签: android google-chrome text-to-speech speech-synthesis

以下内容适用于桌面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>

3 个答案:

答案 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();除检测到移动浏览器/触摸设备外,目前不行,目前没有其他解决方案。