我成功地使用了 Speech(语音识别)并且我可以使用 AVFoundation 在 Xcode 8/IOS 10 中播放 wav 文件。我只是不能同时使用它们。我有导入语音的工作语音识别代码。当我将 AVFoundation 导入同一个应用程序并使用以下代码时,没有声音,也没有生成错误:
var audioPlayer: AVAudioPlayer!
func playAudio() {
let path = Bundle.main.path(forResource: "file.wav", ofType: nil)!
let url = URL(fileURLWithPath: path)
do {
let sound = try AVAudioPlayer(contentsOf: url)
audioPlayer = sound
sound.play()
} catch {
//handle error
}
}
我想这是因为两者都使用音频。谁能建议如何在同一个应用程序中同时使用两者?我还发现我无法在同一个应用程序中同时使用语音识别和文本转语音。
最佳答案
我刚遇到同样的问题,这是我解决的方法,
语音识别完成后添加以下行。它所做的基本上是将 Audio Session 设置回 AVAudioSessionCategoryPlayback 类别。
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayback)
try audioSession.setActive(false, with: .notifyOthersOnDeactivation)
} catch {
// handle errors
}
希望对您有所帮助。
关于ios - swift 3 一起使用语音识别和 AVFoundation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639660/