Невозможно изменить произнесенный голос в Tropo MVC
Я использую классы Tropo MVC и у меня проблема с изменением голоса. Установка свойства voice объекта say не влияет на голос, например:
Say say1 = new Say("This is first voice");
say1.Voice = "susan";
Say say2 = new Say("This is the male voice");
say2.Voice = "dave";
List<Say> sayList = new List<Say>();
sayList.Add(say1);
sayList.Add(say2);
Script.Ask(null, null, new Choices("[1 DIGIT]", "dtmf", "#"), null, strArgs, true, sayList, Convert.ToSingle(action.Timeout));
Голос не меняется. На самом деле кажется, что единственный способ изменить голос - это установить Script.Voice = "voice", который мне не подходит, так как мне приходится обрабатывать выбор языка в первом Ask, для которого требуется английский голос, а затем французский.
1 ответ
Tropo также поддерживает SSML, который является очень мощным языком разметки для микширования голосов и настройки темпа / тембра голоса.
Вы можете смешивать голоса в одной команде Say, выполнив что-то вроде:
new Say("<?xml version='1.0'?><speak>For English please press 1.<voice name='Carlos' xml:lang='es'>para el español por favor pulse 2</voice></speak>")
Встроенный XML - это своего рода юкки, но он выполняет свою работу, и изучение SSML позволит вам создавать действительно профессионально звучащие приложения.