Forum Discussion
Audio on Layers when you revisit
Hi All,
We have a consistent issue with using audio on layers that I would love some advice on!
We have an autoplay option in all of our courses via a true/false variable. If the user selects autoplay it causes the variable to be true. Then we have a trigger "Play media (audio) when the timeline starts on this layer (or slide if it's a slide) if audioONOFF = value True" so that our audio narration plays automatically.
Issue: The autoplay works perfectly as you move through the layers. However, if you advance to the next slide and then navigate back to the previous slide, the base layer audio and the last layer visited audio both play at the same time.
Under Slide Layer Properties I have "Pause timeline of base layer" selected for all layers. I also created a secondary trigger to "Stop media (audio) when the timeline starts on this layer" which I was hoping would stop the base layer audio anytime a layer is selected. But still, when you navigate backwards to the slide it plays at least two things at once.
Any advice?
SuzanneCarson-b: Here's the problem: On the base and each layer is a trigger that plays the audio "when the timeline of this [slide/layer] starts," with the condition that the variable = True.
A "when timeline starts on this slide" trigger runs every time a user revisits a slide, even if the revisiting properties are set to "Resume saved state."
Strangely, it appears that the "when timeline starts on this layer" triggers also run when revisiting the slide—but only on the layers that were previously opened.
- This seems like a bug to me, so I suggest you submit a case to Articulate. https://access.articulate.com/support/contact
In the meantime, the attached file has a workaround. The triggers have been changed so the audio plays when the timeline reaches 0.1 seconds.
Note: There are still issues with the Play, Pause, Stop buttons. I suggest you delete the Stop button, since stopping the audio is the same as pausing it.
I'd also use just one toggling button for Pause/Play, with the Normal state being used to Pause and the Selected state being used to Play (or vice versa). Have a trigger that sets the state based on the T/F variable. The attached "demo" file shows how this sort of button works.
9 Replies
- JudyNolletSuper Hero
It sounds like the "Pause timeline of base layer" command isn't working. Best guess: that's because the command runs when the layer opens. In other words, if a layer is already open when the user revisits the slide, the command isn't sent again.
One potential solution: add triggers that close all the layers before the user jumps to another slide.
Also consider the impact of the "revisiting" setting in Slide Properties and Slide Layer Properties. "Resume saved state" might be a good option (though if any timeline didn't play completely, that will make it resume wherever it was interrupted).
- SuzanneCarson-bCommunity Member
Hi and thanks for the reply!
Unfortunately, no luck. I added triggers to close all layers as you suggested. I thought this was genius! But it didn't solve it. I also played with the Slide Properties. Neither "Resume Saved State" or "Reset to Initial State" worked.
I appreciate the ideas though, it was great to have some options to try. - JudyNolletSuper Hero
Hmm. At this point, troubleshooting is just guessing without seeing all the programming. Someone might be able to solve the issue if you upload the .story file. Here are the best practices for doing that:
Only include slides that are related to the problem.
Be sure objects, layers, motion paths, and variables have meaningful names.
If there is proprietary content, replace or delete it. For example, replace proprietary text with “ipsum lorem” text.
Of here’s some standard advice that the staff usually offers:
- Be sure you only work on Storyline files located on your local hard drive.
- Quit Storyline and relaunch it.
- If that doesn’t help, try to repair Storyline. See
If all that fails to help, submit a case directly to the Articulate staff. You can do that here: https://access.articulate.com/support/contact
- SuzanneCarson-bCommunity Member
Oh, great thanks! Here is the .story file. It's just 3 slides and the content should explain the issue while replicating the undesired behavior.
Hopefully someone is able to take a look. Thanks for the advice.
- JudyNolletSuper Hero
SuzanneCarson-b: Here's the problem: On the base and each layer is a trigger that plays the audio "when the timeline of this [slide/layer] starts," with the condition that the variable = True.
A "when timeline starts on this slide" trigger runs every time a user revisits a slide, even if the revisiting properties are set to "Resume saved state."
Strangely, it appears that the "when timeline starts on this layer" triggers also run when revisiting the slide—but only on the layers that were previously opened.
- This seems like a bug to me, so I suggest you submit a case to Articulate. https://access.articulate.com/support/contact
In the meantime, the attached file has a workaround. The triggers have been changed so the audio plays when the timeline reaches 0.1 seconds.
Note: There are still issues with the Play, Pause, Stop buttons. I suggest you delete the Stop button, since stopping the audio is the same as pausing it.
I'd also use just one toggling button for Pause/Play, with the Normal state being used to Pause and the Selected state being used to Play (or vice versa). Have a trigger that sets the state based on the T/F variable. The attached "demo" file shows how this sort of button works.
- SuzanneCarson-bCommunity Member
Judy Nollet! Thank you so much. This is fantastic info. I wonder why the audio doesn't autoplay on revisiting after 0.1 seconds? It simply doesn't - which is the desired behaviour.
Additionally, the reason we used the buttons rather than a true toggle switch is because the drag and drop nature of the toggle isn't fully accessible. I can change the media buttons so it is just play/pause with a T/F variable, but would a button like I had in my demo work okay? It doesn't actually have to be a toggle feature right?
- JudyNolletSuper Hero
re: timeline trigger
"When the timeline starts" really should be called "Whenever the user gets here," because that's really when that type of trigger runs.
Changing the trigger to "when the timeline reaches" forces the program to see it as a point on the timeline. So the trigger won't run again unless the timeline is replayed to that point.
re: toggling Pause/Play button
The button in the demo file I attached isn't draggable. It's just a shape with a Normal state and a Selected state, and those states are designed to look like a switch that changes its position.
When any object has a Normal state and a Selected state, it automatically toggles (aka changes back and forth) between those states when the user clicks it or accesses it via keyboard.
You could simply use a round shape with the Normal state having the Play icon and the Selected state having the Pause icon (or vice versa).
- SuzanneCarson-bCommunity Member
Also, I shared this with my team, and they send their thanks!
- JudyNolletSuper Hero
You and your team are welcome! Pay it forward when you can. 😊
Related Content
- 1 year ago
- 8 months ago
- 3 months ago