Alexa Presentation Language Визуализация документов во время разговора - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь сделать документ на языке презентаций Alexa, когда Алекса произносит свою речь. Я попробовал с пейджером с несколькими страницами и командой AutoPager. Проблема, которую я пытаюсь решить, состоит в том, что документ отображается, когда Алекса начинает говорить, но команда запускается, когда речь заканчивается, и я хотел бы видеть, как три страницы движутся во время разговора. Я использую RenderDocumet и executeCommand, а также директивы говорить в responseBuilder.

Шаблон документа: PagerDoc ->

{
    "type": "APL",
    "version": "1.0",
    "theme": "dark",
    "import": [],
    "resources": [],
    "styles": {},
    "layouts": {},
    "mainTemplate": {
        "parameters": [
            "datasource"
        ],
        "item": [{

                "type": "Container",
                "items": [
                    {
                    "type": "Sequence",
                    "id": "pagerComponentId",
                    "scrollDirection": "vertical",
                    "numbered": true,
                    "width": "100vw",
                    "height": "100vh",
                    "alignItems": "center",
                    "justifyContent": "center",
                    "direction": "column",
                    "items": [

                        {
                            "type": "Image",
                            "source": "${datasource.app.properties.images.robot1}",
                            "position": "relative",
                            "width": "100vw",
                            "height": "100vh"

                        },
                        {
                            "type": "Image",
                            "source": "${datasource.app.properties.images.robot2}",
                            "position": "relative",
                            "width": "100vw",
                            "height": "100vh"

                        }
                    ]
                }

            ]

            }
        ]      
        }

    }

И директивы:

var response = handlerInput.responseBuilder;
                return response
.addDirective({
                    type : 'Alexa.Presentation.APL.RenderDocument',
                    token: 'pagerToken',
                    document : pagerDoc,
                    datasources : {
                        "app": {
                            "properties": {
                                "images": {
                                    "robot1": "https://xxx/robot1.png",
                                    "robot2": "https://xxx/robot2.png"
                                }
                            }
                        }
                    }
                })
               .addDirective({
                    type: 'Alexa.Presentation.APL.ExecuteCommands',
                    token: 'pagerToken',
                    commands: [
                       {
                            "type": "Parallel",
                            "commands": [
                                {
                                    "type": "Scroll",
                                    "componentId": "pagerComponentId",
                                    "distance": 1


          }
                                ]
                              })
                           .speak(speechOutput)
                          .reprompt(repromptOutput)
                          .getResponse();

Может кто-нибудь сказать мне, что мне делать? Если это возможно с Alexa? Большое спасибо заранее и наилучшими пожеланиями, Fernando

1 Ответ

0 голосов
/ 20 июня 2019

Это еще не возможно. Если вы будете ждать до выхода APL 1.1 (скоро) APL 1.1 добавит onMount к документу APL, который должен позволять выполнять команды, как только документ загружен (например, до того, как Алекс говорит):

...