Я использую SDK узла Alexa для создания своего приложения, размещенного на AWS Lambda. При использовании Echo Show (или любого устройства с дисплеем) я бы хотел, чтобы экран обновлялся полноэкранным изображением, когда Alexa отвечает звуком.
Я могу сделать это с помощью «Стандартной карты», но изображение очень маленькое и появляется справа от произносимого текста.
Есть ли способ удалить текст и отобразить изображение на весь экран?
Образец кода:
return handlerInput.responseBuilder
.speak('my text')
.withStandardCard('my title', 'my text', 'https://myimage-sm.jpg', 'https://myimage-lg.jpg')
.reprompt('my title', 'my text')
.addElicitSlotDirective('slotname')
.getResponse();
Чтобы было ясно, я также пытался добавить шаблон с addRenderTemplateDirective
, но это выдает ошибку, так как Alexa разрешает только одну директиву на слот.
No other directives are allowed to be specified with a Dialog directive. The following Dialog Directives were returned: [Display.RenderTemplate]
Вы можете попробовать мой проект здесь, который использует АПЛ за кулисами для визуализации карты с полным фоном. Кстати, ограничение заключается не в одной директиве на слот, а в том, что вы не можете использовать какую-либо директиву, связанную с диалогом, с другими директивами, например директивами шаблона рендеринга или директивами APL. Поэтому, если вы собираетесь управлять диалогами, забудьте на время об отправке директив рендеринга дисплея.