如何解决AVAudioEngine或AVAudioSourceNode是否与iOS中的AVSpeechSynthesizer功能不兼容?
我一直在试验AVAudioSourceNodes,并将其连接到混合器节点和输出节点。正常运行,我想要的音频从扬声器发出。
然后我尝试使用AVSpeechSynthesizer将合成的语音输出也输出到扬声器,然后再通过上述AVAudioSourceNode发送音频。但是,这是相当多的错误-有时会奏效,先播放语音,再播放音频;在其他时间,将输出语音,但随后的音频只是静态的。
我尝试了各种变通办法,包括记录语音并使用音频播放器播放语音,或将语音写入缓冲区以供连接到混音器节点的音频节点播放,但是这些方法都不能解决问题。我还尝试过使用回调函数,在其中等待语音结束讲话,然后再清除提供AVAudioSourceNode的缓冲区,并允许该数据作为输出传递。但是,在每种情况下,有时会播放语音,然后播放音频就很好了(这似乎表明这不是格式不匹配的问题),而在其他时候,我得到的声音应该是很大的静态声音输出。
有人知道这个“干扰”的原因是什么?这两个功能或已知错误之间是否存在某种冲突?错误输出的随机性使得按需重现错误非常困难。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。