Text-to-audio/Layer Issues
Jun 02, 2022
Hi, there, Heroes!
Hoping you can help. Just built my first module with text-to-audio and for the slides where there are layers, the issue is that if a user clicks on the button to jump to another layer before the base layer audio has finished, they hear a cacophony as the audio for the base layer and the new layer play TOGETHER.
How can I keep them from jumping layers until the base layer audio runs out (tried to add an "if" condition in Trigger Wizard but didn't see an object called Text-to-Speech 1 - was thinking I could say something like "If Text-to-Speech 1 = complete" but no go).
Or, is there a way to make that base layer audio stop when they do jump to another layer before it finishes?
Thank you!
Kim
7 Replies
Dear Kim,
There are multiple ways you can stop the audio of base layer when you jump to new layer.
I hope this will help!
Thanks
Yogesh beat me to it. :)
I recorded a tutorial with some of the same ideas.
Wow, Yogesh and Tom! Thank you so much! I can't tell you how great this
forum is. Feels like I can pop next door to my work colleague to ask them
how to do something and boom! I get an answer.
You helped me solve the problem and taught me some new skills - thank you,
again, and enjoy the weekend!
Best regards,
*Kim *
Tom, I didn't thought of recording video
Nice idea, will try to use in future :)
Thanks
Kim, This is a great place where you can find many solution in very short span of time.
Anyways Welcome to community and congratulations for the first course, and many more to go
Thanks
Thank you!
Best regards,
*Kim *
Along these same lines, how does one keep the base layer paused (timeline and/or audio) after returning from a slide layer? (See my two solutions below.)
Is there an obvious setting/trigger or would the best way involve variables (variable triggers)? I figured out two methods that could work for a current project, but which one you use depends what's happening on the slide when it starts.
What I want to happen:
Method 1:
By default, the slide base layer timeline is set to automatically start when the user opens the slide. To get the timeline effect/control outlined above, one could set a trigger to pause the base layer timeline when it starts. Jumping ahead a little—When a user closes a slide layer, by default the base layer timeline should resume. However, if you set the trigger to pause the base layer timeline when a user enters the slide, the base layer timeline will also stay paused when the user closes a slide layer. Pretty neat.
Method 2:
A few slides in the current project have animations and incomplete object layouts at the start of their base layer timelines. Method 1 won't work here because the slides would start as incomplete designs. So, I want the base layer timeline and audio to start right away when a user enters the slide, but I want the timeline to pause later when the user opens a slide layer. The solution here was to create a variable which "controls" the timeline and changes value (for a play/pause effect) based on user interactions with objects/layers. The default value of the variable is "false" (i.e., we're not pausing the base layer timeline yet). As the base layer timeline and audio start and continue to play, the user selects an object that:
To complete the cycle for it to work again, there needs to be a slide trigger that sets the variable to "false" when the base layer timeline starts. That means the value is "false" when a user enters the slide for the first time and after closing a slide layer, which will allow the user to open that slide layer again and pause the base layer timeline again.
By default:
By default, closing a slide layer automatically causes the base layer timeline/audio to resume, even though the checkbox in the Slide Layer Properties paused the base layer timeline/audio while the slide layer was open. One could try setting a pause timeline trigger on the base layer when the user selects a box to open a slide layer, but that still results in the base layer timeline/audio resuming when the slide layer was closed.
It seems a little odd that when I tell the base layer timeline to pause so I can do something on another slide layer, that it resumes after I do that something else even though I didn't tell the base layer timeline to resume — perhaps that's just how it works with layers. This seems to be the case with dialogs, too.
It's confusing to set a trigger to pause the timeline (either in the base layer or in a slide layer), but then nothing "triggers" the timeline to start again other than closing a slide layer, which don't seem related.
Even so, the two methods described above worked for me in a current project. Though this wasn't the same situation as the original post, it was close (needing to pause the base layer timeline and audio while opening another layer), and I needed a little more (keep base layer paused after closing a slide layer rather than automatically resuming the base layer). I hope this info helps someone else, too.