Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2014, 15:51   #1
skyll
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 28
По умолчанию Воспроизведение текста используя SpeechAPI

Всем привет. Прошу помощи. Написал программу, которая воспроизводит текст. Проблема в том, что воспроизводится только английский текст, хоть при этом и установлены речевые движки поддерживающие русский текст.
Суть вот в чем, как выбрать с пом. функции gpIVTxt.SetVoice другой речевой движок ?

Код HTML:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.StdCtrls, SpeechLib_TLB;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  gpIVTxt: ISpVoice;
  Voice: ISpObjectToken;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
var
  Pool: LongWord;
begin
  gpIVTxt := CoSpVoice.Create as ISpVoice;
  gpIVTxt.SetRate(-3);
  //gpIVTxt.SetVoice(Voice);
  gpIVTxt.Speak(PChar(Edit1.Text), SVSFDefault, Pool);
end;

end.
skyll вне форума Ответить с цитированием
Старый 26.04.2014, 16:57   #2
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Цитата:
Суть вот в чем, как выбрать с пом. функции gpIVTxt.SetVoice другой речевой движок ?
Ну так посмотрите, какие параметры передаются в функцию. В чём проблема? В коде вижу
Код:
Voice: ISpObjectToken;
Наверное объект нужно инициализировать. Пробовали?
XE5 вне форума Ответить с цитированием
Старый 26.04.2014, 18:08   #3
skyll
Пользователь
 
Регистрация: 05.02.2012
Сообщений: 28
По умолчанию

Цитата:
Сообщение от XE5 Посмотреть сообщение
Наверное объект нужно инициализировать. Пробовали?
Делал всё по нескольким примерам. Про инициализацию ничего там не описывалось.

Но в прочем тему можно закрывать. Начал работать с Microsoft Direct Text-To-Speech. Там немного проще и всё понятнее.
Всем спасибо.
skyll вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распознавание речи SpeechAPI rmv240899 Помощь студентам 2 23.11.2012 21:39
программа, которая вводит строки текста в массив символов s[100], используя функцию gets. stalker999 Общие вопросы C/C++ 8 10.04.2012 19:58
Воспроизведение текста с отслеживанием ArcaN0id Общие вопросы Delphi 2 29.02.2012 01:37
Как можно используя IdHttp обратиться к серверу по IP не используя доменное имя. Chasow Работа с сетью в Delphi 1 06.04.2010 04:16