以下适用于桌面版 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>
最佳答案
在相关问题中,以下代码在 Chrome Android 中运行,但事件监听器似乎没有调用 NextWord 函数,而它在 macOS 上的 Chrome 和 Safari 上运行良好:
speechTextString = "Hello World"
speechText = new SpeechSynthesisUtterance( speechTextString );
speechText.onboundary = function (event) {
if ( event.name == "word" ) { NextWord( event.charIndex ) }
};
关于android - Web Speech API 文本转语音不适用于移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47356881/