2014-10-23 5 views
-2

Я использую «Библиотека речевых объектов Microsoft», и я хотел бы изменить голос по умолчанию через код delphi.Изменение библиотеки объектов речевого объекта SAPI в Delphi

Мой голос по умолчанию - женщина, говорящая. Как мне изменить его на кого-то другого, если кто-то еще доступен?

Я использую SAPI 5.4 и Delphi XE6.

+3

http://msdn.microsoft.com/en-us/library/ee125652.aspx читать документацию и работать с примерами –

ответ

2

Вы не указали, какую версию SAPI вы используете, или покажите код, который вы используете для вызова SAPI.

Например, в SAPI 5 интерфейс ISpVoice имеет метод SetVoice(), где вы передаете ему интерфейс ISpObjectToken для определенного голоса. Чтобы получить ISpObjectToken, вы можете:

  1. использование SpEnumTokens() перечислить доступные голоса до тех пор, пока не найдете тот, который вы хотите.

  2. SpFindBestToken(), чтобы найти голос, который соответствует различным критериям, указанным вами.

  3. SpCreateNewToken() или связанная функция, если вы знаете определенный голос, который хотите использовать.

+0

я использую SAPI 5.4 и я не писал никакого кода еще, потому что я не знаю, как использовать тот код, который вы указали выше. В настоящее время я знаю, как разрешить это говорить по тексту. Использование SPVoice1.speak() –

+2

'SPVoice1.Speak()' это код, поэтому, очевидно, у вас есть «письменный код». Вы просто вызываете 'SPVoice1.SetVoice()' перед вызовом 'SPVoice1.Speak()'. Вам нужно научиться использовать функции, о которых я говорил, чтобы вы могли получить токен для разных голосов. Если вы не вызываете 'SPVoice1.SetVoice()', 'SPVoice1.Speak()' использует то, что настроено по умолчанию, настроено в панели управления Windows. –

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

  • Нет связанных вопросов^_^