How to prevent double audio when revisit a slide with layers?

Jul 29, 2014

I've created a slide in which the base layer has 5 buttons for 5 separate layers. The base layer has ~45 seconds of introductory audio, and its properties are set to show the seekbar and resume saved state.

Each of the 5 layers has audio and video. Each layer's properties are set to allow seeking, pause timeline of base layer and resume saved state.

Now here's the problem: I only listen to a small part of audio on the base layer before I click on a layer and gradually move through all 5 layers. I then move on in the module. When I revisit the interactive slide, my seekbar is stopped where the audio on the base layer was stopped and displays the Play icon, yet the audio and video for the last-viewed layer is currently playing. Because the seekbar/timeline is showing the Play icon, I can't pause the audio on the layer. When I click the Play icon in an attempt to pause the audio on the layer, it actually creates a double audio - playing both the base layer and the continued audio of my layer (and now the seekbar starts to move as the base layer is played).

How do I prevent the double audio? What am I doing wrong?

Thanks in advance for your help,

Tracey

9 Replies
Greg Faust

So it's:

  1. Slide is set to "Resume Saved State on revisit"
  2. When the user leaves the slide, the base layer is paused, and layer x, y, or z is playing (with x, y, or z timeline showing)
  3. When the user revisits the slide, instead of being *exactly* like it was when the user left the slide, the play button and seek bar are shown for the base layer, even though the audio for layer x, y or z is playing.

Is that correct? It sounds like a bug.

You've got me curious about this; I'll have to do some tests in the morning. If this is a bug, I have an idea how it can be worked around with variables and triggers.

Greg Faust

Sure enough. I played around with it, and it looks like a bug.

I came up with a workaround. Before I try to explain it, just have a look at the attached .story file, and see if that makes sense. Basically, you can manually program Storyline to display the correct timeline for an already-open layer when revisiting a slide.

Let us know how it goes or if you have any questions or need a better explanation.

I'm submitting a bug report on this; you might consider doing likewise: http://www.articulate.com/support/contact/submit.php

Tracey Neil

Good idea Meryem! I've added a trigger to each layer to hide the layer when the user clicks Next. It works like a charm to avoid the double audio the first time a user returns to that slide. Of course, after reviewing the slide the user will probably use the menu to change slides and thus by not clicking Next, won't hide those layers. The double audio problem then returns if the user returns to that slide a 3rd time. However, that's probably a low, if not rare, occurrence.

Thanks! I think this will work for my purposes.

Greg Faust

You can eliminate the bug completely if you make the "Hide Layer" triggers activate when the timeline for the base layer starts (instead of when the user clicks the "Next" button). That way, no matter how the learner navigated away from the slide, the layers will hide when the learner revisits the slide.

Note that the "... when timeline begins" trigger does not care where on the timeline the seekbar is. When a slide is loaded, any "... when timeline begins" triggers attached to the base layer will attempt to activate.

The sample I posted does this, plus it includes triggers to track and re-open the previously-open layer (if any). Hence, it's a complete workaround for this bug:

  • Each layer has its own displayed timeline
  • There is no double audio
  • When the user returns to the slide, the layer that was active before is once again active
Antonio A

Hi, I am not sure if my issue is exactly the same as the above, I have a base  layer with audio and when entering this slide (and before playing the base layer) an slide layer is playing. First visit is working ok but on revisiting base layer and slide layer play at the same time.

Another issue, i would like to solve here, is that i want to prevent the user from clicking the next button for going to the next slide (and this way skipping the audio in the base layer)  when the slide layer is playing.

I am attaching the file.

Thanks for any help!

 

This discussion is closed. You can start a new discussion or contact Articulate Support.