Skip to main content
Participant
August 10, 2015
Question

Captivate 8: audio does not consistently pause when the slide timeline pauses.

  • August 10, 2015
  • 1 reply
  • 1972 views

  I have reviewed a lot of the posts about pausing audio and have not found anything that addresses this problem.  The slide has an audio track the should play until a pause that is associated with a smart object used as a button.  The property to stop slide audio when paused is clicked.  The object also has advanced scripts that make visible some objects and pause or resume the slide when variable have specific values.  The intent of the slide was to have the use hear the first part of the audio, think about the content then click the button to see additional information and hear the remaining part of the slide audio.  When I first came across this problem I read about some challenges with advanced actions causing problems with the slide audio not pausing so my first work around was to take the second part of the slide audio and attach it to the button.  This works fine except for the closed captioning text which is associated with the main slide audio - the CC displays before the button is clicked because the slide audio timeline does not pause.  The slide timeline is paused confirmed by objects that are positioned on the timeline after the pause do not appear until the button is clicked.  And just to make life interesting if I copy the slide to a new Captivate project I can get the pause to work.

Thanks for the help!

This topic has been closed for replies.

1 reply

RodWard
Community Expert
Community Expert
August 11, 2015

What build of Captivate 8 are you on?  Is it the very latest patched version?

Participant
August 11, 2015

It is 8.0.1.242

and another bit of background is the project is responsive and published as html5

TLCMediaDesign
Inspiring
August 18, 2015

I think what you are describing is the way CP is supposed to work. A work around is to use a cpInfoCurrentFrame listener.

You then need to determine what you want to check, so you could say if cpInfoCurrentFrame = 120 then pause the movie.

cp.movie.pause(cp.ReasonForPause.CPCMNDPAUSE)

You can also check to see if an element is visible.

An object encountered on the timeline with a pause only pauses the timeline, not the movie, so audio continues to play. Here is an example script that pauses on frame 120.

var interfaceObj;
var eventEmitterObj;

window.addEventListener("moduleReadyEvent", function(evt)
{
interfaceObj = evt.Data;
eventEmitterObj = interfaceObj.getEventEmitter();
    initializeEventListeners();

});

function initializeEventListeners()
{
if(interfaceObj)
{
     if(eventEmitterObj)
  {        
   window.cpAPIEventEmitter.addEventListener("CPAPI_VARIABLEVALUECHANGED",function(){
   testFrame();},"cpInfoCurrentFrame");
  }
}
}

function testFrame()
{
if (window.cpInfoCurrentFrame == 120)
{
  cp.movie.pause(cp.ReasonForPause.CPCMNDPAUSE)
}
}