Рейтинг:
2
john1990_1
Это не то, что я ищу, моя программа приложения Windows Forms обнаруживает нажатия Ctrl+C дважды быстро и говорит текст в буфере обмена, когда они нажаты, в настоящее время она работает только на английском языке, я хочу, чтобы пользователь выбрал язык из выпадающего списка (каждый язык, на котором установлен его text-to-speech в Windows), когда пользователь выбирает язык и имя человека (например, "Microsoft Asaf" для иврита), голосовое свойство SpeechLib.SpVoice изменяется, и речь делается на этом языке для текста в буфере обмена, проблема в том, что SP.getvoices() должен обнаруживать также неанглийский язык!
Maciej Los
Не уверен, что я вас хорошо понимаю, но когда вы меняете язык в combobox, вам нужно передать xml-узел в ComboBox. Speak(Xml_data_here)
метод. Это все.
john1990_1
Когда пользователь изменяет текст в выпадающем списке, SpeechLib.SpObjectToken, который существует в SP.GetVoices (), выполняется с помощью SP.Voice=v;. Я просто хочу, чтобы SP.GetVoices() тоже получал неанглийские голоса в приложении Windows Forms C#.
Maciej Los
Если GetVoices
метод не работает, почему бы вам не попробовать изменить язык внутри Speak
метод?
Насколько я понимаю документацию MSDN, единственный способ изменить язык для этого случая должна использовать Speak
метод.
См. обновленный ответ (новые ссылки).
john1990_1
Я хочу, чтобы он работал с любым языком, выбранным пользователем в выпадающем списке, и для любого текста в его буфере обмена.
john1990_1
Thx, хорошо, голос-это не язык, есть проблема в синтезаторе.GetVoices() то есть он не обнаруживает голоса, чей язык отличается от английского, я хочу, чтобы эта ошибка была решена, кто-то давно сказал мне, что речь идет о 32-64-битных процессорах и о том, как строятся голоса, если это поможет...
john1990_1
Как мне выполнить инструкции здесь?
https://stackoverflow.com/questions/19864385/detecting-all-installed-sapi-voices