2017-01-31 24 views
6

Zajmuję się tworzeniem aplikacji do strumieniowania dźwięku. jeśli mówię alexa, aby zagrać piosenkę dla tego artysty, alexa odtwarza całą piosenkę. Ale nie słucha się pomiędzy, aby przejść do innego artysty. Alexa kończy całą piosenkę dla artysty, a następnie zatrzymuje się, muszę ponownie uruchomić aplikację, aby posłuchać piosenki innego artysty. Jak wezwać innego artystę pomiędzy piosenką?Jak powrócić do aplikacji z dyrektywy odtwarzania w aplikacji alexa?

tutaj jest mój kodowania dla pierwszego utworu

$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; 

a następnie dodanie dźwięku do niego poprzez zastąpienie playBehaviour do enqueue. Piosenki są dodawane, a każda piosenka jest odtwarzana poprawnie, ale w dowolnym momencie, jeśli mówię o jakiejkolwiek komendzie związanej z moją aplikacją .. alexa nie odpowiada i w rzeczywistości jest jak opuszczanie mojej aplikacji, ponieważ muszę uruchomić aplikację ponownie, gdy gra się utwór, aby alexa działał z moją aplikacją.

Odpowiedz

1

Musisz obsługiwać zdarzenia odtwarzacza audio opisane here. Konkretnie, w zdarzeniu AudioPlayer.PlaybackNearlyFinished można dodać kolejny plik audio. Uwaga: wiele innych zdarzeń powinno również zostać wdrożonych w celu zapewnienia odpowiedniego komfortu użytkowania.

+0

nie chodzi o dodanie utworu .. utwór jest dodawany, ale jeśli chcę zacząć prosić o zrobienie czegoś alexa na mojej aplikacji .. to się nie dzieje, ponieważ dyrektywa play opuściła sesję. Czy mimo to można zachować sesję? –

+0

Nie, użytkownik musi powtórzyć umiejętność. –