Я реализовал простой медиаплеер в AOG с помощью MediaResponse
Медиа-плеер может правильно воспроизводить обе стороны:
Затем
В то время как он способен выполнять эти функции наGoogle Assistant
:
Воспроизведение
Пауза
Стоп
Резюме
Simulator
не может этого сделать (как изображение, он всегда спрашивает меня снова)
Интересно, почему?
Люди, которые знают, помогите мне объяснить?
p / s:
И в чем разница между pause
и stop
?
В Google Assistant я увидел, что они имеют одинаковую функцию, это означает stop
полностью аналогично pause
.
MediaPlayerUtils.js
// Library
const {
MediaObject,
MediaResponse,
SimpleResponse,
Suggestions
} = require('actions-on-google');
class MediaPlayerUtils {
getMediaResponse(song) {
// This object used to play Media on Google Home
var mediaResponse = new MediaResponse();
mediaResponse.mediaType = "AUDIO";
var mediaObject = new MediaObject({
url: ""
});
mediaObject.name = song.title;
mediaObject.contentUrl = song.url;
mediaResponse.mediaObjects = [];
mediaResponse.mediaObjects.push(mediaObject);
var Media = require('../model/data/Media');
// Media Response : Play audio
return new Media(song, mediaResponse);
}
playSong(conv, song) {
var media = require('../model/data/Media');
media = this.getMediaResponse(song);
console.log("playSong() " + song.title + " " + song.url);
// Media Response : Play audio
conv.ask(new SimpleResponse(" ")); // Able to set song title before playing song in here
conv.ask(media.mediaResponse);
conv.ask(new Suggestions(
"next",
"back",
"previous",
"play",
"pause",
"resume",
"stop"));
conv.ask(new SimpleResponse(""));
};
}
module.exports = MediaPlayerUtils;
rout.js
'use strict';
const {
dialogflow
} = require('actions-on-google');
const assistant = dialogflow({ debug: true });
const MediaPlayerUtils = require('./util/MediaPlayerUtils');
const mediaPlayer = new MediaPlayerUtils();
module.exports = function (app) {
assistant.intent('Default Fallback Intent', (conv) => {
conv.close("Goodbye");
});
assistant.intent('Default Welcome Intent', (conv) => {
var song = {
title: "Test",
url: "https://TEST_URL.mp3"
};
console.log("Default Welcome Intent");
mediaPlayer.playSong(conv, song);
});
module.exports.googleHomeActions = assistant;
app.post('/webhook', assistant);
};
Media.js
var Media = function (song, mediaResponse) {
this.song = song;
this.mediaResponse = mediaResponse;
}
module.exports = Media;