Перейти к содержанию
  • Регистрация
  • 0
Liberator

Получение результата голосового распознавания

Вопрос

Доброго времени суток.

 

В соседней теме отлично расписано, как ВКЛЮЧИТЬ голосовой ввод. Правда, по окончании распознавания, приложение стабильно останавливается, почему-то. Но возникает попутный вопрос: а как получить результат распознавания ввода (чтобы запихнуть его в Edit) ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Рекомендуемые сообщения

  • 0

Подтверждаю то, что написал ТС. Приложение останавливается, причём, если запускать его в отладчике, то вылета нет.

Но вопрос даже не в этом, а в том как получить результат распознавания. Неужели никто не работал с распознаванием?

Может кинет кто рабочий пример?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Никто не разобрался в теме?

Взял код из этой темы:

procedure OpenSpeechRecognizer;
var
  Intent: JIntent;
begin
  Intent := TJIntent.JavaClass.init(TJRecognizerIntent.JavaClass.ACTION_RECOGNIZE_SPEECH);
  Intent.putExtra(TJRecognizerIntent.JavaClass.EXTRA_PROMPT, StringToJString('Голосовой поиск Inforino'));
  Intent.putExtra(TJRecognizerIntent.JavaClass.EXTRA_LANGUAGE_MODEL, TJRecognizerIntent.JavaClass.LANGUAGE_MODEL_WEB_SEARCH);
  Intent.putExtra(TJRecognizerIntent.JavaClass.EXTRA_MAX_RESULTS, 1);
  Intent.putExtra(TJRecognizerIntent.JavaClass.EXTRA_LANGUAGE, StringToJString('ru-RU'));
  SharedActivity.startActivityForResult(Intent, 1);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  OpenSpeechRecognizer();
end;

После нажатия микрофона, наговорить что-нибудь, как вылетает Segmentation fault (Delphi Berlin)

RecognizeSpeech.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Если еще актуально:

Установил компонент SpeechRecognition1 (во вложении)

Накидываю на форму компонент TSpeechRecognition из панели компонентов

в нем имеются свойства(у меня следующие):

AlwaysGuesses: true;
Language: ru-RU;
Prompt: Пожалуйста скажите ЧЕ нибудь!
Объявите глобально FSpeech: TStrings; является своего рода посредником передачи данных иначе все глючит)
Теперь при необходимости вызывайте SpeechRecognition1.ListenFor(FSpeech); появится окно обработки голоса
Далее в компоненте обработчике OnRecognitionEx прописываем куда распознанный текст должен попасть
  Edit1.Text := Guesses[0];

Ссылка на источник http://delphi.org/2014/10/voice-enable-your-android-apps/ но кажись сейчас можно скачать только Триал версию, а во вложении полная версия (да простят меня Боги!B)), демки там есть, а также примеры для перевода текста в голос.

Speech.zip

Изменено пользователем zairkz

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

На компиляцию libAndoridVoiceComponents.so у меня на строку

  Androidapi.JNI.Speech in 'JNIBridge\Androidapi.JNI.Speech.pas',

ругается:

[DCC Error] AndoridVoiceComponents.dpk(38): E2200 Package 'rtl' already contains unit 'Androidapi.JNI.Speech'

 

Изменено пользователем Rusland

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Упс, не забудьте добавить SpeechRecognition.pas' добавить в проект и в папку с проектом скопировать файлы android.speech.SpeechRecognizer.pas, Androidapi.JNI.Speech.pas, AndroidTTS.pas

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

 

Цитата

 

ругается:

[DCC Error] AndoridVoiceComponents.dpk(38): E2200 Package 'rtl' already contains unit 'Androidapi.JNI.Speech'


 

Компонент надо установить только под 32-bit windows->compile->install

А для компиляции проекта надо чтобы в папке проекта лежали выше указанные файлы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Создал новый проект, кинул компонент, все работает... что не может не радовать )

Но можно ли сделать так чтобы появляющееся окно с Микрофоном

 Screenshot_2016-08-29-13-24-10.png

было поменьше или располагалось снизу, не перекрывая компоненты формы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...