Как изменить текст при воспроизведении mp3 голосовой записи

У меня есть mp3, воспроизводящий приветственное сообщение, например. «Добро пожаловать в приложение», но как изменить текст, отображаемый в Google Assistant?

 const ssml =
   '<speak>' +
   '<audio src="https://steven96813.000webhostapp.com/audio/welcome%20to%20bowville.mp3"></audio>' +
   '</speak>';

 conv.ask(ssml);

Вы можете использовать ssml только для своих медиафайлов и SimpleResponse для текста. Developers.google.com/actions/assistant/responses

hfurkanvural 22.05.2019 12:49
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
1
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У вас есть несколько хороших вариантов.

Хороший способ — добавить тег <desc> внутрь тега <audio>. Этот текст не будет произноситься, но будет отображаться. Это может выглядеть примерно так:

 const ssml =
   '<speak>' +
   '<audio src="https://steven96813.000webhostapp.com/audio/welcome%20to%20bowville.mp3">'+
     '<desc>Welcome to Bowville</desc>'+
   '</audio>' +
   '</speak>';

Вы также можете создать объект Простой ответ, который вы передаете conv.ask() вместо SSML. Для этого потребуется как свойство speech с SSML, так и свойство text с тем, что должно отображаться. Это может выглядеть примерно так:

conv.ask(new SimpleResponse({
  speech: ssml,
  text: 'Welcome to Bowville'
});

Спасибо, что ответили на мой вопрос, у меня все заработало, и все было нормально в течение 2 дней, а затем внезапно я получаю эту ошибку о том, что обработчик не является функцией в файле .js. Я никогда не редактировал диалоговое окноFirebaseFulfillment TypeError: handler is not a функция в cloudFunction (/srv/node_modules/firebase-functions/lib/providers/https.js‌​:57:9) в /worker/worker.js:783:7 в /worker/worker.js:766:11 в _combinedTickCallback (internal/process/next_tick.js:132:7) в process._tickDomainCallback (internal/process/next_tick.js:219:9) Связано ли это с запросом https на загрузку mp3?

Steven 23.05.2019 17:53

Во-первых, здорово, что у вас все заработало. Если ответ помогает, его принятие и/или голосование всегда приветствуются.

Prisoner 23.05.2019 18:21

Ошибка, которую вы там показываете, не имеет отношения ни к чему, что вы упомянули в этом вопросе, ни к обслуживанию mp3. Я бы предложил начать новый вопрос StackOverflow, показывающий информацию о том, как у вас настроен веб-перехватчик, поскольку это похоже на настройку функции Firebase.

Prisoner 23.05.2019 18:22

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