Playing Audio Only on First Visit to a Screen

I have a launch screen that uses a trigger to send you to a step-by-step demonstration. There is introductory audio on the launch screen. Once you finish the demonstration, you are returned to the launch screen.

I need the audio to play only on the first visit to the launch screen, not when the demonstration returns you there. I will need to add this functionality to a number of screens on an extremely tight time frame, so I was hoping that I could do it with a condition rather than setting up layers and variables.

I currently have a trigger saying play audio when the screen timeline begins. And a trigger on the button to jump to the demonstration.

I've edited the play audio trigger so that it now says play audio when screen timeline begins if the button's state != visited. The screen is set to resume saved state and the button's state remains visited on the return to the launch screen. But the audio still plays.

Why are these triggers not working?

3 Replies
Dennis Hall

Hi Danny:

You can use one or both of the following methods to not play the audio. The method you use will be determined by you wanting the slide animation to replay or not.

1. Play the slide without having the slide restart: In the slide properties, set the "When revisiting" to "Resume saved state". This will play the slide from the last timeline location it was last at.

2. Play the slide from the beginning but with not audio:

a. Create a True/False variable called "Slide1Revisit" with a default value of False.

b. Create a slide level trigger on the slide (the one you want the audio disabled on revisit)

b-1. Trigger action: Stop media

b-2. Media: Sound1 (or whatever the media name isin your layers

b-3. When: timeline starts

b-4. Object: The current slide name

b-5. On Condition: Slide1Revisit == True

c. On the demonstration slide, create a slide level trigger

c-1. Action: Adjust Variable

c-2. Variable: Slide1Revisit

c-3. Operator: = Assignment

c-4. Value: true

c-5. When: Timeline ends

That should take care of it for you.

I have attached a working story for you.

Best Regards,

Dennis Hall

Danny Blatt

Thanks for the help Dennis. I already had my screen set to resume saved state, but it would still play the audio on a return visit (at least if the user jumped ahead without letting it finish). This is why I tried to add the trigger that would not function (I'm still not sure exactly why it won't work).

As for your second suggestion. I have way too many instances of this problem, and not enough time to implement such an involved solution (don't you love it when the client makes last minute requests that affect over 30 screens?).

However, I took great inspiration in your second option and was able to complete it without all of the variables and layers and extra bulk.

Create 1 trigger:

  • Stop audio when screen timeline starts if state of launch button = visited.

When this trigger is placed below the "play audio when timeline starts" trigger, the screen works like a charm.

So again, thanks for the inspiration. Since I already needed the screen to resume a saved state, there was no need for the variables/layers.