Alexa - Getting user input after playing video (Echo Show)

amazon-alexa

#1

My app is already quite flexible in its routing. I can play a video to a user if they have a device with a screen, but if they don’t I can still route to a follow up state:

const question = "Example question...";

if (this.$alexaSkill.hasScreenInterface()) {

    this.$alexaSkill.showVideo(videoSourceUrl, videoTitle, videoSubtitle);

    this.followUpState('ExampleFollowUpState').ask(question);

} else if (!this.$alexaSkill.hasScreenInterface()) {

    this.followUpState('ExampleFollowUpState').ask(question);

}

Here’s my problem:

Suppose the user has an Echo Show device. When the video ends, this.followUpState() won’t route to the specified follow-up state. Is it possible to ask a user for input after playing a video? So far, this is ending the conversation flow, leaving the user with no where to go.

Many thanks,

Simon


#2

Hi @simon.revill! Alexa does not offer that capability at this time through the video player. I have heard they have something like that available via APL video with something like an onEnd method, but I have not used it yet.

https://developer.amazon.com/docs/alexa-presentation-language/apl-video.html#on-end


#3

Hi @natrixx . Thanks for this tip. I’ve just recently started using APL in my skill so I will look into that with the Amazon Docs. Cheers!


#4

Hi @simon.revill ,

I was wondering if you were ever able to get a video played using APL?
I tried it for a bunch of days but couldn’t get it to run on my Echo Show.

But when I click “LAUNCH” in the Jovo debugger, it seems to have the right response

Thanks,
David


#5

Hi @davidchl. It’s been a while now but from memory I don’t think so. I seem to remember looking at the APL docs and discovering the features were very limited for video at the time. They may have been updated since then, and I haven’t checked. In the end I’m sure I just had to use the VideoApp interface (set up in config) and the Jovo showVideo() methods, along with a custom intent to launch the request. See more here: https://www.jovo.tech/docs/amazon-alexa/visual-output

I will have to check my code in the morning when I’m at work, and I’ll come back here and confirm exactly what it was that I did.

By the way - I never had success using the Jovo Debugger for visual stuff. Great for checking intent responses / general debugging but for visual, I’d always use the Echo Show or Google Home Hub for testing. Catch up with you later -Simon.


#6

Thanks @simon.revill, would love to see how you did it with showVide()

Yeah the Jovo Debugger seemed to have the right response (doesn’t actually play video) but when I tried it on the Echo Show, it just threw an error response.

I was continuing to google the issue and stumbled about this which seemed to work!