iOS Swift:语音识别停止说话

时间:2019-07-23 02:21:42

标签: ios swift speech-recognition

我正在尝试使用Apple的SpeechRecognition和Swift语言开发IOS应用程序。当按下按钮时,我已经能够启动和停止语音识别,但是当用户停止讲话时,我将如何检测。我最初的想法是使用用户的音量作为检测用户何时停止讲话的一种方式,但是我不知道如何通过代码(类似于下面的代码)来实现:

// From: https://developer.apple.com/documentation/speech/recognizing_speech_in_live_audio

recognitionTask = speechRecognizer.recognitionTask(with: recognitionRequest) { result, error in
var isFinal = false

if let result = result {
    // Update the text view with the results.
    self.textView.text = result.bestTranscription.formattedString
    isFinal = result.isFinal
    print("Text \(result.bestTranscription.formattedString)")
}

if error != nil || isFinal {
    // Stop recognizing speech if there is a problem.
    self.audioEngine.stop()
    inputNode.removeTap(onBus: 0)

    self.recognitionRequest = nil
    self.recognitionTask = nil

    self.recordButton.isEnabled = true
    self.recordButton.setTitle("Start Recording", for: [])
}
}

版权所有©2019 Apple Inc。

特此免费授予获得此软件和相关文档文件(以下简称“软件”)副本的任何人无限制使用本软件的权利,包括但不限于使用,复制,修改,合并,发布,分发,再许可和/或出售本软件的副本,并允许具有本软件的个人遵循以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。

按“原样”提供该软件,不提供任何形式的明示或暗示的保证,包括但不限于对适销性,特定目的的适用性和非侵权性的保证。无论是由于软件,使用或其他方式产生的,与之有关或与之有关的合同,侵权或其他形式的任何索赔,损害或其他责任,作者或版权所有者概不负责。软件。

0 个答案:

没有答案