Как вернуться в приложение из директивы play в приложении alexa?

Я занимаюсь разработкой приложения для воспроизведения звука. Если я говорю Алекса, чтобы сыграть песню для этого исполнителя, Алекса играет всю песню. Но не слушает, чтобы переключиться на другого художника. Алекса заканчивает всю песню для исполнителя и затем останавливается, затем мне нужно снова запустить приложение, чтобы прослушать песню другого исполнителя. Как мне позвонить другому артисту между песней?

вот мое кодирование для первой песни

$speech     = "playing songs of $artistName";

$card = '"card": {
"type": "Simple",
"title": "Play Audio",
"content": ""}';
$response = '{
"version" : "1.0",
"response" : {
"outputSpeech": {
"type": "PlainText",
"text": "'.$speech.'"},
'.$card.',
"directives": [
{
"type": "AudioPlayer.Play",
"playBehavior": "REPLACE_ALL",
"audioItem": {
"stream": {
"token": "FirstSong",
"url": "myUrl",
"offsetInMilliseconds": 0
}
}
}
],
"shouldEndSession" : true
}
}';

echo $response;

А затем добавьте аудио к нему, заменив playBehaviour на ENQUEUE. Песни добавляются, и каждая песня воспроизводится правильно, но в любой момент, если я говорю какую-либо команду, связанную с моим приложением .. alexa не отвечает, и это на самом деле похоже на выход из приложения, потому что мне нужно запустить приложение снова, когда песня играет, чтобы Алекса работала с моим приложением.

6

Решение

Вы должны обработать события аудиоплеера, описанные Вот. В частности, для события AudioPlayer.PlaybackNearlyFinished вы можете поставить в очередь следующий аудиофайл. Обратите внимание, что многие другие события также должны быть реализованы для надлежащего взаимодействия с пользователем.

1

Другие решения

Других решений пока нет …