Skip to main content
matthewc92756946
Participant
June 9, 2015
Question

Read variable from outside source

  • June 9, 2015
  • 1 reply
  • 367 views

I have an Edge Animate file embedded in a Captivate slide. I also have closed captions in the Captivate file. I need to be able to pause the embedded Edge Animate file and the Captivate slide at the same time. The playbar native to Captivate doesn't pause the animation, and a pause button in the Edge Animate file won't pause the Captivate slide (and therefore the closed captions that are timed to go along with the animation).

I have done some research into this problem, and I have found a couple of promising leads, but I'm still not sure what I need to do or how to do it. This Adobe help page (Adobe Captivate * Variables and Advanced Actions) says that Captivate can get/set variables from other applications, but it gives no further information. I am thinking that I might be able to set a global variable in the EA file that can be read/seen by Captivate, similar to what this guy did (actionscript 3 - Play/Pause status in Adobe Captivate - Stack Overflow).

I may be totally wrong on the method for getting this to work. Any help at all is very appreciated.

This topic has been closed for replies.

1 reply

TLCMediaDesign
Inspiring
June 9, 2015

Since it sounds like you are using swf output. You could create a Flash widget similar to what is being described on Stack Overflow. If the CP project pauses, you could use the external interface to stop the Edge animation.

You would need a function to call in the edge file.

Haven't seen an Edge file so I don't know how much scripting you can do, but that would be the theory.

matthewc92756946
Participant
June 9, 2015

Yes, I thought I would need to do something like that, but I'm not too awfully familiar with Captivate and I haven't used Edge Animate at all until I had to fix this problem, so I don't know how to access/use the external interface on Edge Animations. Could someone possibly explain a little further?

TLCMediaDesign
Inspiring
June 9, 2015

The external interface is in Flash. You don't really need to worry much about Captivate except to listen for when it's paused.

The external interface allows you to call a JavaScript function. That function will need to talk to the Edge Animate to pause it.

Edge can talk to Captivate since Captivate is it's parent. I have helped someone with the HTML5 version of CP and Edge. to set a variable from edge into CP you just preface the normal JavaScript calls with parent.

From edge:

window.parent.cpAPIInterface.setVariableValue("FO1",1);