Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone(iOS 13)设置中是否有HTML5语音合成工作的要求?_Html_Ios_Text To Speech - Fatal编程技术网

iPhone(iOS 13)设置中是否有HTML5语音合成工作的要求?

iPhone(iOS 13)设置中是否有HTML5语音合成工作的要求?,html,ios,text-to-speech,Html,Ios,Text To Speech,我已经在iOS上搜索并找到了几个关于语音合成问题的问题 像这个: 我已经实现了我能找到的所有解决方法,并且在控制台中没有任何错误。尽管在Android和桌面上运行良好,但我还是没有听到声音。即使是在上述问题中共享的代码笔也不起作用,但作者声称它应该起作用 所以,这个问题更多的是关于设备/操作系统本身的:像iPhone这样的iOS设备中是否有任何东西会阻止文本到语音的工作?(是的,我检查了音量) 我的iOS版本是13.4.1 为完整起见,我的代码如下所示: 让haEnabledVoice=fal

我已经在iOS上搜索并找到了几个关于语音合成问题的问题

像这个:

我已经实现了我能找到的所有解决方法,并且在控制台中没有任何错误。尽管在Android和桌面上运行良好,但我还是没有听到声音。即使是在上述问题中共享的代码笔也不起作用,但作者声称它应该起作用

所以,这个问题更多的是关于设备/操作系统本身的:像iPhone这样的iOS设备中是否有任何东西会阻止文本到语音的工作?(是的,我检查了音量)

我的iOS版本是13.4.1

为完整起见,我的代码如下所示:

让haEnabledVoice=false
/**
*某些浏览器中不加载语音的Bug
*/
if(窗口语音合成){
//预加载声音
speechSynthesis.getVoices()
/**
*iOS黑客
* https://stackoverflow.com/questions/32193704/js-speech-synthesis-issue-on-ios/62587365#62587365
*/
document.addEventListener('click',()=>{
如果(haEnabledVoice){
返回
}
const fakeutrance=newspeechsynthesisutrance('Hello'))
fakeutrance.volume=0
演讲合成。讲话(假话)
haEnabledVoice=true
})
}
功能发言(句子){
if(窗口语音合成){
const话语=新的话语(句子)
outrance.voice=speechSynthesis.getVoices()[0]
发音。音量=1
话语率=0.9
演讲综合。讲话(话语)
}
}

你在哪里调用speak()?这是一个react应用程序,用户可以选择单词造句。有一个“播放”按钮,它最终调用speak函数。请尝试在const-outrance=…之前添加speechSynthesis.cancel()。还可以尝试注释音量和速率行。我怀疑“某些浏览器中的bug”代码是否有什么好处,所以也请评论一下。我已经将ios更新到了14.4.2,并且我得到了声音。如果有人对ios 13有什么解释,我仍然很感兴趣。