Показать сообщение отдельно
  #7  
Старый 17.09.2011, 21:28
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

SpeechAPI работает в обоих направлениях. И они описаны в книге Буторина (у меня книжный вариант "MS Agent и SpeechAPI в Delphi"). Правда, говорить компьютер может на любом языке, а вот распознавание (dll сторонних фирм) предлагается пока только на английском (плюс китайский, японский). Поэтому у вас два варианта: или говорить по-английски "Stop", "Start" (к счастью, отличий нет кроме акцента), ну и добавим "Hello" или ввести в словарь свои слова (для последнего случая): "Privet".
Вот, кстати, фрагмент программы из книги Буторина, которая по командам "red", "green", "blue" меняет цвет формы:
Код:
function TVCmdNotifySink.CommandRecognize(dwID: DWORD; pvCmdName: PVCmdNameA; pdwFlags: PDWORD;
      dwActionSize: DWORD; pAction: pointer; dwNumLists: DWORD;
      pszListValues: PAnsiChar; pszCommand: PAnsiChar): HResult; stdcall;
begin
  Result := S_OK;
  fForm.AddLog(Format('Команда: App = %s, State = %s, Cmd = %s, Id = %d',
    [pvCmdName.szApplication, pvCmdName.szState, pszCommand, dwId]));
  case dwID of
    1: fForm.Color := clRed;
    2: fForm.Color := clGreen;
    3: fForm.Color := clBlue;
  end
end;
Для товарищей, любящих русский, можно было ввести команды "Krasnyi", "Zelyonyi", "Siniy" (я не пробовал)
Ответить с цитированием