Кнопка не работает в SpeechKit / swift

Вы можете найти мой код ниже. Я написал код, где я могу распознать свою речь и превратить ее в текст. Но, к сожалению, этот код работает только один раз, когда мне нужно добавить опознавать свою речь снова, я должен перезапустить приложение или viewController. Поэтому у меня есть вопрос: как мне изменить свой код, если мне нужно распознавать свою речь каждый раз, когда я нажимаю кнопку и вызываю функцию, не перезапуская приложение.

Это код функции:

func recordAndRecognizeSpeech() {
    let node = audioEngine.inputNode
    let recordingFormat = node.outputFormat(forBus: 0)
    node.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { buffer, _ in
        self.request.append(buffer)
    }
    audioEngine.prepare()
    do {
        try audioEngine.start()
    } catch {
        return print(error)
    }
    guard let myRecognizer = SFSpeechRecognizer() else {
        return
    } 
    if !myRecognizer.isAvailable {
        return
    }
    recognitionTask = speechRecognizer?.recognitionTask(with: request, resultHandler: { [weak self] result, error in
        if let result = result {
            let bestString = result.bestTranscription.formattedString
            self?.recognizedLabel.text = bestString
        } else if let error = error {
            print(error)
        }
    })
}

Это код кнопки:

@IBAction func micBtnTouchDown(_ sender: Any) {
    self.recordAndRecognizeSpeech()
}

Спасибо и хорошего дня!

0 ответов

Другие вопросы по тегам