WebKit内核浏览器(iOS设备)中SpeechSynthesis API阿拉伯语“Majed”语音随机缺失的解决方案咨询
WebKit内核浏览器(iOS设备)中SpeechSynthesis API阿拉伯语“Majed”语音随机缺失的解决方案咨询
我发现支持SpeechSynthesis的浏览器通常都会提供阿拉伯语语音“Majed”(标识为ar-001或ar-SA),在大部分浏览器上都能正常使用,但WebKit内核的浏览器,尤其是iPhone和iPad上的Safari,这个语音会随机消失!想请教下有没有办法确保阿拉伯语语音始终可用?
测试场景
你可以在任意页面的开发者控制台中输入window.speechSynthesis.getVoices()来测试:正常情况下返回的语音列表第一个应该是阿拉伯语的Majed。我自己用同一设备测试时,第一次打开页面能看到它,但有时候刷新几次后就找不到了。
正常/异常状态截图
- 正常状态(Mac Safari偶尔出现,和其他浏览器/系统表现一致):阿拉伯语语音显示在“Daria”上方

- 异常状态(iPhone/iPad偶尔出现):阿拉伯语语音完全消失,本该显示在“Daria”上方

额外调试细节
在Safari控制台执行window.speechSynthesis.getVoices()时,正常情况下会返回221个语音,而阿拉伯语语音消失时只有209个。同时我发现,阿拉伯语语音消失的同时,部分加泰罗尼亚语语音也不见了。另外iOS设备还有个常见问题:页面加载时语音不会立刻加载完成,需要反复检查直到加载完毕。
备注:内容来源于stack exchange,提问作者Saamer
相关产品推荐
相关产品推荐

