2016-07-25 2 views
0

Я ищу распознавания речи в Ionic2 рамки с Cordova плагин.распознавания голоса (речи в текст - STT Cordova плагин)

Если это можно реализовать, не могли бы вы дать пример кода (.html и .ts)?

Я нашел это, но был для Ionic1: http://devgirl.org/2016/01/08/speaking-with-cordova/, и я не могу адаптировать код для Ionic2.

Я очень ценю любую помощь, которую вы можете предоставить, и извините за мой маленький английский.

+0

Проверить эту ссылку - https: //github.com/gandhirajan/Cordova_Speech_Recognizer – Gandhi

+0

Это для ионных :( Как преобразовать код в ионный 2? – mosca90

+0

Поймите, но в чем проблема, с которой вы столкнулись? – Gandhi

ответ

4

Источник: https://github.com/macdonst/SpeechRecognitionPlugin.

Использование командной строки, добавьте этот плагин для вашего проекта Ionic2:

cd Your_Project_Root_Folder 

С прошивкой 10 это обязательно добавить NSMicrophoneUsageDescription в info.plist, чтобы получить доступ к микрофону.

Чтобы добавить эту запись, вы можете передать переменную MICROPHONE_USAGE_DESCRIPTION при установке плагина.

ionic plugin add https://github.com/macdonst/SpeechRecognitionPlugin --variable MICROPHONE_USAGE_DESCRIPTION="your usage message" 

На iOS 10 и более он использует собственный SFSpeechRecognizer (такой же, как Siri). На iOS 9 и старше он использует iSpeech SDK, требуется ключ API, получить его на https://www.ispeech.org/, это бесплатно. Чтобы предоставить ключ, добавьте этот параметр внутри config.xml

<preference name="apiKey" value="yourApiKeyHere" /> 

Добавить объявление в начале вашего .ts файл, сразу после импорта, до определения класса:

declare const SpeechRecognition: any; 

Тогда, в классе:

recognition: any; 

constructor() {} 

SpeechToText() { 
    this.platform.ready().then(() => { 
     this.recognition = new SpeechRecognition(); 
     this.recognition.lang = 'en-US'; 
     this.recognition.onnomatch = (event => { 
      console.log('No match found.'); 
     }); 
     this.recognition.onerror = (event => { 
      console.log('Error happens.'); 
     }); 
     this.recognition.onresult = (event => { 
      if (event.results.length > 0) { 
       console.log('Output STT: ', event.results[0][0].transcript);    
      } 
     });  
     this.recognition.start(); 
    }); 
} 

iSpeech поддерживаются языки: английский (Канада) (еп -CA) Английский (США) (en-US) Испанский (Испания) (es-ES) Французский (Франция) (fr-FR) Итальянский (Италия) (it-IT) Польский (Польша) (pl-PL) Португальский (Португалия) (pt-PT)

ps: Для iOS 10 ошибка kAFAssistantErrorDomain или если вам нужно подождать результатов, отметьте this.

Выполнено!

редактировать: протестирован на Ионическом v3.0.1 (2017-04-06) и работает отлично :)

+0

У вас есть рабочий пример этого кода? я получаю ошибку «речевого распознавания не определен» – aheigins

+0

Этот код отлично работал на бета-ионной2. После выпуска RC я не знаю. Я модернизирую проект, но пока не часть STT. Застрял с проблемой sqlite ... – mosca90

+0

@aheigins Я обновил проект до ionic2 RC1 и работает так, как ожидалось. Код в точности то, что не требуется никаких изменений. – mosca90

Смежные вопросы