我使用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/

10-10 23:25