У меня есть приложение, которое будет воспроизводить слепой тест: пользователь должен угадать 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"
}
}
},
[...]