How do I deal with "split personality" behavior that a certain utterance triggers depending on where you are

Is there a way to turn off built-in intents in the audio player, e.g. “Alexa, Stop”?

For example, saying “Alexa, Stop” does something different depending on where you are when interacting with my skill. If you’re in the audio player, it activates the built-in or custom Stop/Pause function. If you’re outside the audio player (i.e. in the skill itself), saying “Alexa, Stop” calls my Stop flow. This split personality behavior would confuse the user should s/he encounter it.

Any suggestions on how to reduce this potential confusion?

I think no. This is audio player’s current behaviour. The only thing came up with mind, adding custom pause in Stream Block. Using custom pause, when audio is playing and say “Alexa, Stop”, you can add some messages like “OK. song is stopped. If you wanna resume this song, say Alexa, resume”

1 Like

Thanks for weighing in. Yes, I’ve already gone ahead and done that for instances where I use the Stream Block.

Another thing: What the best way to link things up after a customized Pause? For example, should I link it back up to the streaming audio where it came from? That is, after I insert my custom speech block? I ask this because I think I’m getting unexpected behaviors from doing this, e.g. after I stop my skill, a residual audio stream sometimes plays in the background. Thanks!

I’ve never experienced like that.

custom pause, which is invoked by “Alexa, pause” or “Alexa, stop” during Audio is playing, is basically for users to stop audio and know how to resume (because user doesn’t know how to control AudioPlayer, IMO.) So, for me, I always just simply put speak block only. If you wanna go back to skill session again from that? IMO, it might be confusing and it should be better to just start from the beginning like “Alexa open YOUR-SKILL-NAME”

Thanks for clarifying.

My use-case is users practicing aloud their answers to certain questions. The problem with using a speech block as background music during their aloud answer - is that sometimes the user speaking triggers the wake word and thus messes the whole thing up (e.g. restarts the speech text before it, as well as the speech audio block, or worse, stops the whole thing, with stopping being the worst). That’s why I was hoping the audio player streaming, which does NOT do something weird when the wake word is invoked, could simply finish and go onto a next non-streaming block (like a speech block question), so behave like a speech block.

Is this at all possible?

Thanks for your continual engagement with me on this, by the way.

Hi there, the Stream block is handled by Alexa (so the user exits the skill). Maybe I didn’t get your use case correctly but why not using the resume option here? Exit the skill to let the user practice and on next launch (when they are ready), they will have the option to resume.

1 Like

So, I’m still getting a streaming bug / unexpected behavior, which is pretty frustrating. When I say “Alexa, Stop”, a global level command, it exits from my skill session, but then a streaming audio is still playing. I am still testing HOW this is happening (the exact steps) - but a possible workaround is to just kill all audio streams after I say “Alexa, Stop”.

This idea came from seeing this in the Alexa documentation:

Should I insert this “clearBehavior” > “clearall” when my Stop flow is invoked? If so, how? I’m a dummy when it comes to coding/javascript. Any resources to suggest, preferrably execution oriented, even demos on Airtable, if that’s easier, for me to implement this? Thanks.