Проигрыватель Google Actions Media всегда отвечает сообщением MediaStatus FINISHED (даже на чипе голосового ввода / предложения) и откатывается при воспроизведении мультимедиа. - PullRequest
0 голосов
/ 17 июня 2020

Я разрабатываю приложение Google Assistant / Dialogflow с помощью Jovo, и у меня возникла следующая проблема:

Я отвечаю ответом в формате mp3 (с подсказками и коротким вводным предложением, чтобы остаться в сеансе). Пока воспроизводится вступительное предложение, я могу без проблем использовать фишки предложений / голосовой ввод, например, для вызова другого намерения. Но как только медиа начинает воспроизводить каждое действие, которое я сделаю (чип голосового ввода / предложения), отправляет только событие MediaStatus FINISHED (и резервное намерение) без каких-либо указаний на ввод, сделанный пользователем.

Обновление: Я использовал такие термины, как «предыдущий / следующий эпизод» (по-немецки!). Каким-то образом Google использовал это для управления медиаплеером. Сегодня у меня была возможность протестировать это на Nest Hub, и на мой сервер не было отправлено никаких запросов, но MP3 был запущен с самого начала. Другие намерения, такие как "hello world", работают.

В проекте Jovo я слушаю событие FINISHED , но это не должно влиять на запрос, отправляемый Google Assistant.

AUDIOPLAYER: {
    'GoogleAction.Finished': MediaFinishedIntent
},

Вот запрос к моему серверу после нажатия на чип предложения во время воспроизведения звука:

{
    "responseId": "04956876-1bf2-4a04-ac1f-1858d1c6e8c1-83ffff32",
    "queryResult": {
        "parameters": {},
        "allRequiredParamsPresent": true,
        "outputContexts": [
            {
                "name": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW/contexts/actions_capability_screen_output"
            },
            {
                "name": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW/contexts/actions_capability_web_browser"
            },
            {
                "name": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW/contexts/actions_capability_audio_output"
            },
            {
                "name": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW/contexts/actions_capability_media_response_audio"
            },
            {
                "name": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW/contexts/actions_capability_account_linking"
            },
            {
                "name": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW/contexts/_jovo_session_nbtbg",
                "parameters": {
                    "sLastResponseName": "oEpisode"
                }
            },
            {
                "name": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW/contexts/actions_intent_media_status",
                "parameters": {
                    "MEDIA_STATUS": {
                        "@type": "type.googleapis.com/google.actions.v2.MediaStatus",
                        "status": "FINISHED"
                    }
                }
            },
            {
                "name": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW/contexts/__system_counters__",
                "lifespanCount": 1,
                "parameters": {
                    "no-input": 0,
                    "no-match": 1
                }
            }
        ],
        "intent": {
            "name": "projects/#####/agent/intents/54975645-dd40-41c9-8380-f49b769b3248",
            "displayName": "FallbackIntent",
            "isFallback": true
        },
        "intentDetectionConfidence": 1,
        "languageCode": "de"
    },
    "originalDetectIntentRequest": {
        "source": "google",
        "version": "2",
        "payload": {
            "user": {
                "locale": "de-DE",
                "lastSeen": "2020-06-17T14:08:45Z",
                "userStorage": "{\"userId\":\"be340535-0ed2-4cd3-ae52-0b753599d71e\"}",
                "userVerificationStatus": "VERIFIED"
            },
            "conversation": {
                "conversationId": "ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW",
                "type": "ACTIVE",
                "conversationToken": "[\"_jovo_session_nbtbg\"]"
            },
            "inputs": [
                {
                    "intent": "actions.intent.MEDIA_STATUS",
                    "rawInputs": [
                        {}
                    ],
                    "arguments": [
                        {
                            "name": "MEDIA_STATUS",
                            "extension": {
                                "@type": "type.googleapis.com/google.actions.v2.MediaStatus",
                                "status": "FINISHED"
                            }
                        }
                    ]
                }
            ],
            "surface": {
                "capabilities": [
                    {
                        "name": "actions.capability.SCREEN_OUTPUT"
                    },
                    {
                        "name": "actions.capability.WEB_BROWSER"
                    },
                    {
                        "name": "actions.capability.AUDIO_OUTPUT"
                    },
                    {
                        "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
                    },
                    {
                        "name": "actions.capability.ACCOUNT_LINKING"
                    }
                ]
            },
            "isInSandbox": true,
            "availableSurfaces": [
                {
                    "capabilities": [
                        {
                            "name": "actions.capability.AUDIO_OUTPUT"
                        },
                        {
                            "name": "actions.capability.SCREEN_OUTPUT"
                        },
                        {
                            "name": "actions.capability.WEB_BROWSER"
                        }
                    ]
                }
            ]
        }
    },
    "session": "projects/#####/agent/sessions/ABwppHGYIsRPePpGT26p294iQNlywszGliHgYFtqGviNuIgtsmP33jEh5WP4xjri8770RzQozJ3innKInSq7sFz15HMW"
}

Он всегда имеет FallbackIntent как намерение, хотя точно такое же Кнопка предложения работает нормально до начала воспроизведения звука. Это должно произойти?

PS: Выполнение этого в консоли действий всегда приводит к пустому блоку, который убивает приложение (запрос не отправляется) Изображение консоли действий

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...