我尝试在 ARKit 应用程序上使用 AV 语音合成器(我以前从未使用过),但我不断收到相同的错误消息“无法列出语音文件夹。”
我之前看到有人问过同样的问题,所有答案都提到 ios 16 是不同的,所以他们建议将合成器声明行移到函数外部或直接移到我导入 AVFoundation 的位置下。
let synthesizer = AVSpeechSynthesizer()
但是,无论我将此行放在哪里,我仍然收到相同的错误消息。我对 Swift 和应用程序开发还很陌生,所以我怀疑还有另一个问题,但相关代码大致如下:
import AVFoundation
let synthesizer = AVSpeechSynthesizer()
//within the view controller class:
func testSpeak() {
let utterance = AVSpeechUtterance(string: "screen has been tapped")
utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
synthesizer.speak(utterance)
}
如果我无法使用 AVSpeechSynthesizer,是否有其他方法可以使用它?我只需要一些可以向用户大声朗读几个字符串的东西。
这意味着您尚未将之前的audioSession的类别更改回播放状态。
你也在其他地方录音吗?
如果是这样,当您完成这样的录制时,请将您的音频会话设置回播放状态。
do {
try audioSession?.setCategory(.playback, mode: .default, options: .duckOthers)
try audioSession?.setActive(false)
} catch {
// handle errors
}