我使用AVAudioEngine记录用户讲话,我想实现的是,当用户暂停或停止讲话超过X秒钟时,将回放之前录制的句子。
但是,如何在录制过程中检测到说话的这种暂停?尚未在AVAudioEngine中找到有用的API,对我有什么帮助吗?
最佳答案
您可以在其中设置计时器
private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en-US"))! speechRecognizer.recognitionTask(with: recognitionRequest, resultHandler: { (result, error) in
})
块。
在调用
speechRecognizer.recognitionTask
时设置开始时间,并在计时器内部的每个后续请求之后,检查当前时间与开始时间之间的时差。如果时差大于X秒,请执行任何操作。关于ios - 使用AVAudioEngine录制麦克风时,如何检测到用户停止讲话?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42479336/