Можно ли воспроизвести аудиофайл или поток с помощью actions-on-google- библиотека nodejs?
Можно ли воспроизводить аудиофайл или поток?
Ответы (2)
Используя SSML, вы можете вернуть аудиоклип длительностью до 120 секунд.
<speak>
<audio src="https://actions.google.com/sounds/v1/animals/cat_purr_close.ogg">
<desc>a cat purring</desc>
PURR (sound didn't load)
</audio>
</speak>
Изменить
Если вы хотите воспроизводить аудио из файла mp3 (более 120 секунд), вам необходимо использовать Media Ответы
if (!conv.surface.capabilities.has('actions.capability.MEDIA_RESPONSE_AUDIO')) {
conv.ask('Sorry, this device does not support audio playback.');
return;
}
conv.ask(new MediaObject({
name: 'Jazz in Paris',
url: 'https://storage.googleapis.com/automotive-media/Jazz_In_Paris.mp3',
description: 'A funky Jazz tune',
icon: new Image({
url: 'https://storage.googleapis.com/automotive-media/album_art.jpg',
alt: 'Ocean view',
}),
}));
person
Nick Felker
schedule
25.01.2018
Не выше этого? Я думал в игре полный подкаст.
- person DONSA; 26.01.2018
К сожалению, полное воспроизведение подкастов не поддерживается, по крайней мере, таким образом. Вы можете прочитать этот документ, чтобы узнать о действиях подкаста.
- person Nick Felker; 26.01.2018
Мне SSML не хватает времени, чтобы поиграть. Это не тот ответ, который я ищу.
- person Johnny; 02.04.2018
А как насчет живого контента?
- person ColorCodin; 26.06.2018
Живые потоки мультимедиа не поддерживаются на платформе
- person Nick Felker; 26.06.2018
как я могу добиться этого с помощью php?
- person Tara; 29.08.2019
Когда вы посмотрите документацию MediaResponse, вы увидите эквивалент JSON.
- person Nick Felker; 30.08.2019
Чтобы добавить еще один пункт к ответу Ника, вы также можете создать медиа-ответ, который позволит вам воспроизводить длинный аудиофайл (в настоящее время я проигрываю 50-минутный альбом в своем приложении). Вы можете найти его в документе Google, здесь.
Краткий пример в Node.js может быть таким:
const richResponse = app.buildRichResponse()
.addSimpleResponse("Here's song one.")
.addMediaResponse(app.buildMediaResponse()
.addMediaObjects([
app.buildMediaObject("Song One", "https://....mp3")
.setDescription("Song One with description and large image.") // Optional
.setImage("https://....jpg", app.Media.ImageType.LARGE)
// Optional. Use app.Media.ImageType.ICON if displaying icon.
])
)
.addSuggestions(["other songs"]);
И тогда вы можете просто сделать
app.ask(richResponse)
ОБНОВЛЕНИЕ:
Согласно запросу на комментарий, вот ответ JSON, отправленный моим приложением для mediaResponse:
{
"conversationToken": "[\"_actions_on_google\"]",
"expectUserResponse": true,
"expectedInputs": [
{
"inputPrompt": {
"richInitialPrompt": {
"items": [
{
"simpleResponse": {
"textToSpeech": "Here is my favorite album."
}
},
{
"mediaResponse": {
"mediaType": "AUDIO",
"mediaObjects": [
{
"name": my_name,
"description": my_descr,
"largeImage": {
"url": my_url
},
"contentUrl": my_contentURL
}
]
}
}
],
"suggestions": [
{
"title": my_suggestion
}
]
}
},
"possibleIntents": [
{
"intent": "assistant.intent.action.TEXT"
}
]
}
],
"responseMetadata": {
"status": {
"message": "Success (200)"
},
"queryMatchInfo": {
"queryMatched": true,
"intent": "0a3c14f8-87ca-47e7-a211-4e0a8968e3c5",
"parameterNames": [
my_param_name
]
}
},
"userStorage": "{\"data\":{}}"
}
person
Rémi C.
schedule
23.03.2018
Пробовал что вроде может проигрывать только мп3. ???? Я хочу воспроизвести потоковую передачу m3u8 в моем контексте.
- person Johnny; 02.04.2018
Не могли бы вы также опубликовать здесь формат ответа REST (Json). Я ищу потоковое аудио в Google Home, но, возможно, я не использую nodejs sdk, который они предоставляют.
- person Vikram; 17.05.2018
@Vikram Конечно, я обновлю свой ответ с помощью вкладки ОТВЕТ, полученной с помощью симулятора Actions On Google.
- person Rémi C.; 18.05.2018