使用AVAudioEngine录制麦克风时,如何检测用户是否停止说话?

时间:2017-02-27 06:42:09

标签: ios audio-recording avaudioengine

我使用AVAudioEngine来记录用户说话,我想实现当用户暂停或停止说话超过X秒时,将播放之前录制的句子。

但是如何在录制期间检测到这种说话暂停?在AVAudioEngine中找不到有用的API,有什么想法可以帮到我吗?

1 个答案:

答案 0 :(得分:0)

您可以在

中设置定时器
private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "en-US"))!    speechRecognizer.recognitionTask(with: recognitionRequest, resultHandler: { (result, error) in         

}) 块。 在调用speechRecognizer.recognitionTask时设置开始时间并在定时器内的每个后续请求之后检查当前时间与开始时间之间的差异。如果差异高于X秒,则执行任何操作。