AVAudioEngine或AVAudioSourceNode是否与iOS中的AVSpeechSynthesizer功能不兼容?

问题描述

我一直在试验AVAudioSourceNodes,并将其连接到混合器节点和输出节点。正常运行,我想要的音频从扬声器发出。

然后我尝试使用AVSpeechSynthesizer将合成的语音输出输出到扬声器,然后再通过上述AVAudioSourceNode发送音频。但是,这是相当多的错误-有时会奏效,先播放语音,再播放音频;在其他时间,将输出语音,但随后的音频只是静态的。

我尝试了各种变通办法,包括记录语音并使用音频播放器播放语音,或将语音写入缓冲区以供连接到混音器节点的音频节点播放,但是这些方法都不能解决问题。我还尝试过使用回调函数,在其中等待语音结束讲话,然后再清除提供AVAudioSourceNode的缓冲区,并允许该数据作为输出传递。但是,在每种情况下,有时会播放语音,然后播放音频就很好了(这似乎表明这不是格式不匹配的问题),而在其他时候,我得到的声音应该是很大的静态声音输出

有人知道这个“干扰”的原因是什么?这两个功能或已知错误之间是否存在某种冲突?错误输出随机性使得按需重现错误非常困难。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)