android - Web Speech API 文本转语音不适用于移动设备

标签 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>

最佳答案

在相关问题中,以下代码在 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/

相关文章:

android - 如何在没有 GPS 和互联网的情况下获取用户当前的 latlong?

linux - WebDriverError错误: Chrome failed to start: exited abnormally

android - 为 Android TTS 引擎指定发音的最佳实践?

android - 知道为什么 Gradle Build 运行时间过长(特别是在 crashlytics 上)吗?

java - 找不到符号变量 adView?

linux - Chrome未在Linux中安装

android - Android 中未启动文本转语音服务

c++ - 如何将文本更改为语音以及如何将字符插入字符数组

android - 在外部 SD 卡中创建文件

javascript - Chrome 正在破坏我在触摸屏上的网络应用程序设计