Поддержка SSML в AWS Alexa V2 - PullRequest
1 голос
/ 09 марта 2019

Я работаю над обновлением навыка Alexa с V1 до V2.Но, по некоторым причинам, SSML не работает в версии V2.Вот несколько сценариев, которые я попробовал.

Связали напрямую, передав ssml,

const speechText = 'This <break time=\"0.3s\" /> is not working';

return handlerInput.responseBuilder
      .speak(speechText)
      .reprompt(speechText)
      .getResponse();

Также, Пробовали как объект,

 var speechText = {
      type: "SSML",
      ssml: 'This <break time=\"0.3s\" /> is not working',
  };

 return handlerInput.responseBuilder
      .speak(speechText)
      .reprompt(speechText)
      .getResponse();

У кого-нибудь есть идеи, что я могу делать не так?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 10 марта 2019

Как мы установили в разделе комментариев исходного поста.

Построитель ответов до выпуска v.2.5.1 не удалось избежать недопустимых символов SSML: &, <, >, ", ' эта проблема была поднята командой Alexa здесь и исправлено в Выпуске 2.5.1

Обновление библиотеки устраняет проблему

1 голос
/ 09 марта 2019

Попробуйте

const speechText = `This <break time="0.3s" /> is not working`;

return handlerInput.responseBuilder
      .speak(speechText)
      .reprompt(speechText)
      .getResponse();

Эта конструкция полезна также, когда вы хотите указать переменную в speechText:

const lengthInSeconds = 5;
const speechText = `This <break time="${length}s" /> is not working`;
...