你好,我正在创建Call Recording App,我正在通过应用程序使用AVAduioPlayer播放录音,并且使用SFSpeechRecognizer将音频转录成文本,下面是我的音频播放代码和下面的代码
func requestSpeectAuth(){
SFSpeechRecognizer.requestAuthorization { authStatus in
if authStatus == SFSpeechRecognizerAuthorizationStatus.authorized{
if let path = Bundle.main.url(forResource: "audio", withExtension: "m4a"){
print(path)
do {
let sound = try AVAudioPlayer(contentsOf: path)
self.audiPlayer = sound
sound.play()
} catch {
print("Error")
}
let reconizer = SFSpeechRecognizer()
let request = SFSpeechURLRecognitionRequest(url: path)
self.recpnizer?.recognitionTask(with: request){ (result,error) in
if let error = error{
print(error.localizedDescription)
}else{
print(result?.bestTranscription.formattedString)
self.txtView.text = result?.bestTranscription.formattedString
}
}
}
}
}
}我成功地做到了,但是现在当我暂停音频的时候,我需要停止转录,有什么方法可以停止SFSpeechRecognizer的按钮点击,然后请帮助我
发布于 2022-02-02 00:58:38
当您调用installTap时,将有一个块允许您将音频缓冲区附加到recognitionRequest,只是在需要暂停时不要将音频附加到缓冲区。
https://stackoverflow.com/questions/62304077
复制相似问题