媒体无法再在 Google 助理中播放?
Media cannot play in Google Assistant anymore?
我有一个应用程序会进行盲测:用户必须猜出所播放音乐的 3 倍。该应用程序将获取我服务器上的每首音乐并播放它们。
在模拟器中,一切正常,但是当我在智能手机上通过 Google Assistant 启动我的应用程序时,出现错误 "AUDIO_NOT_PLAYABLE".
我的服务器returns这种link: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"
}
}
},
[...]
所以我使用 Let's Encrypt 为我的网站创建了一个证书,现在音频也在 Google 主页上播放。
因此,当我的网站使用 HTTPS 的自签名证书时出现问题。
我有一个应用程序会进行盲测:用户必须猜出所播放音乐的 3 倍。该应用程序将获取我服务器上的每首音乐并播放它们。 在模拟器中,一切正常,但是当我在智能手机上通过 Google Assistant 启动我的应用程序时,出现错误 "AUDIO_NOT_PLAYABLE".
我的服务器returns这种link: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"
}
}
},
[...]
所以我使用 Let's Encrypt 为我的网站创建了一个证书,现在音频也在 Google 主页上播放。
因此,当我的网站使用 HTTPS 的自签名证书时出现问题。