Медиа больше не может воспроизводиться в Google Assistant? - PullRequest
0 голосов
/ 02 июля 2018

У меня есть приложение, которое будет воспроизводить слепой тест: пользователь должен угадать 3 раза, какую музыку играет. Приложение будет получать каждую музыку на моем сервере и воспроизводить их. В симуляторе все работает нормально, но когда я запускаю на смартфоне свое приложение Google Assistant, у меня появляется ошибка «AUDIO_NOT_PLAYABLE».

Мой сервер возвращает такую ​​ссылку: https://<ip_address>/10sMusic0.mp3.

Формат правильный, так как это mp3. Используется протокол HTTPS, так что это должно быть хорошо, НО я использую самоподписанный сертификат для своего сервера, может быть, в этом причина.

Что я могу сделать, чтобы это заработало?

JSON от начального намерения (привет):

  "payload": {
      "google": {
        "expectUserResponse": true,
        "richResponse": {
          "items": [
            {
              "simpleResponse": {
                "textToSpeech": "Bonjour et Bienvenue sur my App.\n Essayer de deviner l'artiste pour les 3 musiques suivantes",
                "displayText": "Bienvenue sur my_app.\n Essayer de deviner l'artiste pour les 3 musiques suivantes:"
              }
            },
            {
              "mediaResponse": {
                "mediaType": "AUDIO",
                "mediaObjects": [
                  {
                    "contentUrl": "https://<ip_address>/10sMusic0.mp3",
                    "description": "Quel est l'artiste ?",
                    "icon": {
                      "url": "https://cibul.s3.amazonaws.com/event_blind-test-series_291687.jpg"
                    },
                    "name": "Musique à deviner"
                  }
                ]
              }
            }
          ],
          "suggestions": [
            {
              "title": "Not yet implemented"
            }
          ]
        },
        "userStorage": "{\"data\":{}}"
      }
    },
    "outputContexts": [
      {
        "name": "...",
        "lifespanCount": 99,
        "parameters": {
          "data": "{\"count\":0,\"score\":0,\"finished\":false,\"artist\":\"disturbed\",\"track\":\"down with the sickness\"}"
        }
      }
    ]
  }

И это (часть) того, что я получаю с actions_intent_MEDIA_STATUS:

"queryResult": {
    "queryText": "actions_intent_MEDIA_STATUS",
    "parameters": {},
    "allRequiredParamsPresent": true,
    "fulfillmentMessages": [
      {
        "text": {
          "text": [
            ""
          ]
        }
      }
    ],
    "outputContexts": [
      {
        "name": "..."
      },
      {
        "name": "...",
        "lifespanCount": 98,
        "parameters": {
          "data": "{\"count\":0,\"score\":0,\"finished\":false,\"artist\":\"disturbed\",\"track\":\"down with the sickness\"}"
        }
      },
      {
        "name": "..."
      },
      {
        "name": "..",
        "parameters": {
          "MEDIA_STATUS": {
            "@type": "type.googleapis.com/google.actions.v2.MediaStatus",
            "failureReason": "AUDIO_NOT_PLAYABLE",
            "status": "FAILED"
          }
        }
      },
      [...]

1 Ответ

0 голосов
/ 03 июля 2018

Итак, я создал сертификат с Let's Encrypt для своего веб-сайта, и теперь звук воспроизводится также в Google Home.

Поэтому проблема возникла с моим сайтом, когда он использовал самозаверяющий сертификат для HTTPS.

...