9 Реализация распознавания речи Nuance в Swift, не может прослушивать события onResult, onError…

У меня есть две части моего проекта Speech Recon с Nuance, файл .h модуля (ObjectiveC) иViewController (Быстрый).

Я хочу создатьSpeechRecognition объект в моем быстромviewControllerи слушать onBegin, onStop ... и такие методы.

Единственный способ сделать его компилируемым - использовать nil в качестве параметра делегата для инициализации объекта SpeechRecon. Очевидно, что это не хорошо, потому что мои функции onStart ... и onFinish не срабатывают.

Я реализовал протокол кSKRecogniser файл и расширил мой класс ViewController до SKReconDelegate ... но если я использую "self" в качестве делегата для инициализации объекта, компилятор скажет, чтоUIViewController не является допустимым классом. Я знаю, что мне нужно установить делегата между обоими классами, но я разработчик для Android, и мои навыки iOS все еще недостаточно остры. Вот код, если я пропустил какую-то важную часть, просто дайте мне знать. Я буду очень благодарен за вашу помощь.

//ViewController code, in SWIFT
//NO PROTOCOLS NEEDED HERE!

class ViewController:  UIViewController, SpeechKitDelegate, SKRecognizerDelegate{

override func viewDidLoad() {
        super.viewDidLoad()
        SpeechKit.setupWithID( "NMDPTRIAL_nuance_chch_com9999",
            host:"sandbox.nmdp.nuancemility.net",
            port:443,
            useSSL:false,
            delegate:self) //error said "self" is of an invalid ViewController type :( because I was NOT implementing all 4 methods BELOW:
   }
//a bit ahead, I have the same problem with a button
@IBAction func btnmicaction(sender: AnyObject) {
   self.voiceSearch=SKRecognizer(type: "websearch", detection: 2, language: langType as String, delegate: self) //error said "self" is of an invalid ViewController type :( because I was NOT implementing all 4 methods BELOW:
   }


//IMPLEMENT ALL THESE 4 FUNCTIONS, AS SUGGESTED BY THE SOLUTION
func recognizerDidBeginRecording(recognizer:SKRecognizer){
        println("************** ReconBeganRecording")
        }

func recognizerDidFinishRecording(recognizer:SKRecognizer){
        println("************** ReconFinishedRecording")
        }

func recognizer(recognizer: SKRecognizer!, didFinishWithResults results: SKRecognition!){
    //The voice recognition process has understood something
    }

func recognizer(recognizer: SKRecognizer!, didFinishWithError error: NSError!, suggestion: String!){
   //an error has occurred
   }
}

На всякий случай вот мой заголовок Bridge:

#ifndef Vanilla_Bridge_h
#define Vanilla_Bridge_h
#import <SpeechKit/SpeechKit.h>

ОБНОВИТЬ СМОТРИТЕ РЕШЕНИЕ НИЖЕ !!

Ответы на вопрос(3)

Ваш ответ на вопрос