Как я могу вернуть завершенную стенограмму из речи Google в текстовый ответ? - PullRequest
0 голосов
/ 24 июня 2018
func processSampleData(_ data: Data) -> Void {
    audioData.append(data)

    // We recommend sending samples in 100ms chunks
    let chunkSize : Int /* bytes/chunk */ = Int(0.1 /* seconds/chunk */
      * Double(SAMPLE_RATE) /* samples/second */
      * 2 /* bytes/sample */);

    if (audioData.length > chunkSize) {
      SpeechRecognitionService.sharedInstance.streamAudioData(audioData,
                                                              completion:
        { [weak self] (response, error) in
            guard let strongSelf = self else {
                return
            }

            var finalResult = StreamingRecognitionResult()

            if let error = error {
                strongSelf.textView.text = error.localizedDescription
            } else if let response = response {
                var finished = false
                //print(response)
                for result in response.resultsArray! {
                    if let result = result as? StreamingRecognitionResult {
                        if result.isFinal {
                            finished = true
                            finalResult = result
                        }
                    }
                }
                //let textToView = response.description
                let textToView = finalResult.alternativesArray[0]
                strongSelf.textView.text = textToView as! String
                if finished {
                    strongSelf.stopAudio(strongSelf)
                }
            }
      })
      self.audioData = NSMutableData()
    }
}

«textToView» должен быть только последней строкой речи пользователя, однако я не могу понять, как на самом деле извлечь эту строку и ТОЛЬКО эту строку из ответа облака Google.

Любой, кто работал с Google в текстовом API Google, был бы очень благодарен за ответ, так как это беспокоило меня уже довольно давно.

...