Невозможно изменить произнесенный голос в 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 позволит вам создавать действительно профессионально звучащие приложения.

Другие вопросы по тегам