alexa-samples/skill-sample-nodejs-audio-player

Speak, play audio and then listen for question

kevinwu opened this issue · 4 comments

Hi,

currently, if I have something like this:
this.response.speak("hello").audioPlayerPlay("REPLACE_ALL", url, "1", null, 0).listen("world");
then Alexa will first say "hello", after the usual while say "world" and only then after an awkward silence play the audio.

On the other hand if we have this:
this.response.speak("hello").audioPlayerPlay("REPLACE_ALL", url, "1", null, 0)
then Alexa will say "hello", immediately play the audio file and then end the session.

Is it possible to have Alexa say "hello", immediately play the audio file and then say/ask "world"?
What might be a possible workaround to make this happen?

As per https://developer.amazon.com/docs/custom-skills/audioplayer-interface-reference.html#play this is the expected behaviour : ask the question, start the audio and keep the session open to listen for a response.

I would question the voice user experience you are designing : why do you want to play audio while the user must continue to talk to Alexa? What are you trying to achieve ?

Did you get this working? This isn't working for me, as I'd like to do an intro for the audio file. It's weird that it's not working.

As per the doc above : "When sending a Play directive, you normally set the shouldEndSession flag in the response object to true to end the session. If you set this flag to false, Alexa sends the stream to the device for playback, then immediately pauses the stream to listen for the user’s response."

We have achieved an intro for our audio files by using a pre-recorded audio file enqueued before the primary audio file. To make it sound like Alexa is saying the introduction, we record the audio output from the test ssml tool in the alexa console "Test" section of our skill.