Detect end of captivate swf

I am loading a swf that I created in captivate into another
flash file. I would like to be able to detect when tha captivate
swf is at the end. Is there a way in flash to detect when a
captivate swf is at the end?

Hi Jencarter,
another possbility could be to embed a small swf-animation
into the captivate-movie that calls a function in the root, in this
case the flash-file which loads the captivate-movie.
We had the same problem, in the flash-file a function
"chapterend" should be called as soon the captivate-swf is at the
end.
So I've build a small swf which just calles the actionscript:
_root.chapterend();
This swf can be imported into the last slide of the
captivate-movie (or on any other position, if you need it).
Best regards

Similar Messages

  • Detect end of the .swf file from captivate

    Hi,
    I've a .swf file sent by our clients. They want to put that .swf file on the webpage. The .swf file is published from captivate.
    Now they want to display a submit button on end of the .swf (video). I don't know how to detect end of the video.
    Need help...!!!
    Thank you,
    Himadri

    Welcome to our community
    Within Captivate you are able to choose different actions to occur when the Captivate movie completes play. Of course if you don't have Captivate and the project file you are pretty much stuck with what you have. If you *DO* have access to the source, you would then configure the end action to be what you like. Perhaps execute some JavaScript, load a different page, etc.
    If you don't have access to the source file, you may be better off asking whomever provided the SWF to you to make a small change to the end action. They would then compile a new SWF and provide that to you to use.
    You just said a "Submit" button should appear after the video plays. What exactly is this button supposed to do?
    Cheers... Rick
    Helpful and Handy Links
    Begin learning Captivate 5 moments from now! $29.95
    Captivate Wish Form/Bug Reporting Form
    Adobe Certified Captivate Training
    SorcererStone Blog
    Captivate eBooks

  • Trigger actionscript from end of captivate movie

    Hi Guys,
    I'm going insane trying to work out how to trigger an
    actionscript event from the last slide of my Captivate movie.
    Basically I'm doing a product walk through which I am exporting as
    a swf an then dynamically loading into my flash file.
    I need to be able to detect when the externally loaded
    Captivate swf has completed playback so that I can then continue on
    with the rest of my flash movie.
    I have tried adding a swf in Captivate with actionscript to
    trigger the event at the end of the slide but it doesn't work?
    I have also tried exporting the whole thing as an fla and
    then re exporting it from Flash MX 2004 and the animation seems to
    get ruined and out of synch.
    Any ideas on how I can detect and trigger and AS event when
    the loaded Captivate swf has completed would be much appreciated.
    Thanks heaps for reading.
    Chris

    hi Chris
    i created a similar workaround. i ran into a number of issues
    when trying to call an actionscript function at the end of a
    Captivate swf. i determined that captivate is VERY picky about
    imported swfs. for instance, i had a single imported swf that
    contained an animated background and one line of actionscript, and
    it never worked. however, when i split it into two separate swfs
    (one just for graphics, one just for actionscript), it worked! go
    figure.
    i also noticed you have to be careful where you place it on
    the captivate timeline, depending on what you're trying to do. if
    you're calling an end-of-movie function, be sure the swf is only on
    the last few frames of the last slide. sometimes when i placed the
    actionscript swf on the first frame of my last slide it wouldn't
    work, but after moving it down a bit, it worked fine.
    lastly, i had to use "_root" to get mine working. i know many
    people consider it bad form, but if it works, it works. i did the
    following:
    1. created a function in my Flash interface named "endDemo()"
    2. created an empty Flash file with one line of actionscript:
    _root.endDemo();
    3. imported the swf into my captivate movie and placed it on
    the last few frames of the last slide.
    4. set my captivate movie prefs to stop at the end of the
    movie, and not to fade out.
    worked for me... good luck!
    - philip

  • AS3 - 1) Countdown Timer to the designated Date for Live-Broadcast-Event yet to take place; 2) Detect End of Live Stream on FLVPlayback with FLVPlayback.isLive = true - ActionScript 3 - flash cs3 cs4

    Hi folks,
    Ronny's here again on forums, having particularly 2 (two) questions/problems to resolve:
    1) Countdown Timer to the designated Date for Live-Broadcast-Event yet to take place
    2) Detect End of Live Stream on FLVPlayback with FLVPlayback.isLive = true
    attached is the .zip file (as3_Countdown Timer_ver 1.0.1_by Ronny Depp.zip) with all flash source files containing:
    a) The FLash Source (file: timer_module.fla) - (FLA flash source file - Flash CS3 Professional, Flash Player 9, actionscript 3.0)
    b) com.othenticmedia.utils.dateAndTimeManagement package including 2 .as actionscript 3.0 Class files.
           i) com.othenticmedia.utils.dateAndTimeManagement.DateAndTimeManager Class in the said package. (file: DateAndTimeManager.as)
           ii) com.othenticmedia.utils.dateAndTimeManagement.CountdownTimer Class in the package. (file: CountdownTimer.as)
    c) The compiled SWF file version of this Application's blueprint. (file: timer_module.swf).
    What i need to confirm is: ........................................................ see the next post of mine. (for Problems  need to be Resolved)

    Problems to Resolve:
    Problem#1) - Countdown Timer to the designated Date for Live-Broadcast-Event yet to take place.
    Problem#2) - Detect End of Live Stream on FLVPlayback with FLVPlayback.isLive = true;
    Problem#1 Description:
    I need to pinpoint the Logical TimeSync Exception, i am still unable to figure out. That is I'm using a webservice in my Application to Synchronize the Time with the actual ET (eastern time) with accomodation of auto-adjustment for EDT GMT-4 (eastern daylight time) & EST GMT-5 (eastern standard time), times. I am using the zipcode: "10012" to pass it to the Web Service in urlRequest object, to retrieve the Current ET eastern time according to EDT & EST time settings for Manhattan/Brooklyn areas or others within  New York, NY 10012.
    Currently the Web Service is returning accurate date/time based on local EDT GMT-4 daylight time.
    Is there some defined set of dates for EDT & EST times for New York region that I can check for to ensure the correct Dates/Times for Eastern Time in New York area ??? I am using NY zipcodes because i am sure to get correct ET values.
    The Major Problem Part: is I need to correct the time by 2 seconds or approx. 2 secs, some millisecs.
    When I retrieve the Time Value from WebService, it lags behind for 2 seconds as compared to DateObj i create using computer's local time, on my Windows XP Service Pack 2 with Automatic Updates turned-on. And I'm sure about my Windows will be having latest updates for Time Management already installed. I also added the 2 secs. to the TimeSync(ed) Date to make correction to this Date obj.
    I call my custom fucntion addSeconds(dateObj:Date, secs:int) to add 2 seconds to the Date by Converting Seconds to Milliseconds.
    Please comb through the as code in files attached and Help Me Out !!!
    Problem#2 Description:
    Secondly I need to Detect the End of Stream state while using FLVPlayback component, an rtmp:// live Stream from FLASH MEDIA SERVER.
    I need to Play a YuMe Post-Roll Ad when Steam Finishes/Ends.
    Live Broadcast Stream Event starts every night on Wednesdays & Saturdays exactly  at 10:59 PM EDT GMT-4.
    Live Events only Streams/Broadcasts the stream for 50secs. exactly. When [playback stopped] it plays a PostRoll Ad and after the CountdownTimer again comes back to life. The Next upcoming Event is calculated & the Countdown begins until Next Event's time/date is reached.
    Here is the  code on the frame 1 on the MainTimeline: (rest of the params like source, volume, skinAutoHide are Set using Property Inspector for FLVPlayback instance on Stage)
    //myStream instance of FLVPlayback is on the Stage
    myStream.isLive = true;// Frame 1 Actions in the FLA
    myStream.addEventListener(VideoEvent.COMPLETE, onEndOfStream);
    myStream.addEventListener(VideoEvent.STATE_CHANGE, onState);
    myStream.addEventListener(String(VideoError.NO_CONNECTION), onStreamError);
    myStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    /*if(myStream.stopped){
         trace("tracy: "+myStream.state);
    } else if(myStream.state == VideoState.STOPPED){
         trace("tracy: "+myStream.state);
    function onStreamError(event:VideoError) {
         trace(event.code + "\n\t" + event);
    function onState(event:VideoEvent) {
         trace(event.state + "\n\t" + event.toString());
    function onEndOfStream(event:VideoEvent) {
         trace(event.state + "\n\t" + event.toString());
    function netStatusHandler(event:NetStatusEvent):void {
         switch (event.info.code) {
              case "NetConnection.Connect.Success":
                   //connectStream();
                   break;
              case "NetStream.Play.StreamNotFound":
                   trace("Stream not found: "/* + myStream.source*/);
                   break;

  • Executing actionscript at the start of a Captivate swf

    Hello,
    I'd like to run the stopAllSounds actionscript function when my swf is loaded. Is there a way to do this with advanced actions, or some other method?
    Thanks!

    Thanks, but I don't think that will work. The problem I am trying to workaround is that when a user leaves the page that contains a Captivate swf
    with audio, the audio continues to play. So when the user lands on another page that contains another swf with audio, you end up with multiple narrations talking at the same time.  I want to do something to stop any currently playing audio before starting the audio from another swf. Ideally, I'd like to be able to stop all sounds when the user navigates away from the page that runs the swf. But I can't figure out a way to do that.
    This cpCmndMute sounds like it does the same thing as pressing the mute button--but I need the sound file itself to be stopped.
    Thanks!
    Joel

  • Are Adobe Captivate swf files not compatible with IE8 or IE9 when inserted into RoboHelp projects?

    Hi,
    I've published Adobe Captivate swf files and then inserted them into my RoboHelp project. I then synced my RoboHelp project with our website and the videos within online help are not functioning in IE8 or IE9. They are only working in IE11.
    Thanks,
    Jaimie

    Hi there
    When a SWF plays in IE, it uses the Flash Player ActiveX control. I'm not 100% sure that different versions of IE would share the install. So if you have one version of IE on your machine, perhaps it either doesn't even have the control added in or it's the wrong version.
    One thing I would check in the browsers where the content seems to be missing is to right-click the blank area and see if you coax a Flash pop similar to below:
    Then note the version number.
    You may find that all that you (or others) need to do is ensure you have at least a specific version of the player/add-in installed.
    Cheers... Rick

  • Controlling Embedded Captivate SWFs

    Hi:
    I have a SWF (SWF A) that I'm loading into a movieclip
    (Movieclip C)which is part of another SWF (SWF B). Basically, SWF B
    functions as a player, with play and pause controls. These controls
    control Movieclip C where the external SWF A is loaded into.
    Normally, I have had no problem with this and it always
    works. At run time, when you click the pause button on SWF B, a
    stop() command is issued to Movieclip C, which stops the play of
    the external movieclip (SWF A) loaded into it.
    However, I did a screen capture with Captivate and published
    it as a SWF. I loaded this SWF (SWF A) into Movieclip C in SWF B at
    run time. However, clicking the controls on SWF I created has NO
    EFFECT on the SWF I created in Captivate. It just keeps playing.
    I guess all SWFs are NOT created equal. How can I make this
    work?
    By the way, I do not want to use the embedded controls that
    come with Captivate.
    Loren
    “The only real mistake is the one from which we learn
    nothing." - John Powell

    Loren,
    > Normally, I have had no problem with this and it
    > always works.
    Good.
    > However, I did a screen capture with Captivate and
    > published it as a SWF. I loaded this SWF (SWF A)
    > into Movieclip C in SWF B at run time. However,
    > clicking the controls on SWF I created has NO EFFECT
    > on the SWF I created in Captivate.
    I'll bet it does have an effect, but you just don't see the
    effect
    you're expecting.
    > It just keeps playing.
    > I guess all SWFs are NOT created equal. How can I
    > make this work?
    A SWF is a SWF is a SWF. They are all created equal, from a
    certain
    point of view. Flash Paper SWFs are just SWFs, at bottom,
    even though they
    have additional functionality. Captivate SWFs are also just
    SWFs -- which
    means they must adhere to the MovieClip class, all of whose
    methods,
    properties, and events are listed in the "MovieClip class"
    entry of the
    ActionScript 2.0 Language Reference.
    It may be that Captivate nests its SWFs, so that you need to
    adjust your
    target when telling a given movie clip container what to do.
    Would you show
    the exact ActionScript you're using?
    David
    stiller (at) quip (dot) net
    Dev essays:
    http://www.quip.net/blog/
    "Luck is the residue of good design."

  • Connect Sync not working with Captivate SWF files

    HI
    I'm creating material for presentations and discussion in Captivate 8 and using Connect 9.3.
    The Sync button in Connect doesn't turn on or off the sync view for all participants for a presentation sharing the Captivate SWF file....
    Any ideas on how to get the sync feature working?
    PS: I'm using Captivate to create the slides and publish to SWF in order to preserve the fonts for the brand. Uploading Powerpoint changes the fonts to system defaults (looks very bad) and PDF, provides a clunky or abrupt slide transitions (using captivate fade transitions). Would prefer a better solution to maintain fonts and transitions though.
    Cheers,
    Fred

    Going to give a try...
    I did try saving each slide as an image from ppt, then created a new slide deck with one image per slide - added transitions and uploaded to Connect. That seemed to work.... yet, really would like to sort out Captivate as I plan on adding quizzes and other items best done with Captivate.
    Cheers,
    Fred

  • Swfloader complete (end of a swf)

    Hi,
    i have created a swf file and loading it in a flex-air project, i want that the swf file will close automatically after playing 1 time but cant find any event to fire the end of the swf. there is a complete event but it is checking swf loading complete.
    is there any way to check swf end or last frame? i dont want to use enterframe event, its cpu usage is very much for me.

    used timer and now it seems working ok, but i think it should be more robust solution for this.
    protected function funcStartSwfVideo():void
         this.swfVideoTimer=new Timer(10000);
         this.swfVideoTimer.addEventListener(TimerEvent.TIMER, this.funcEvSwfVideoEnd, false, 0, true);
         this.swfVideoLoader.load("assets/bos.swf");
    protected function func(event:Event):void
         this.swfVideoTimer.start();
    protected function funcEvSwfVideoEnd(event:TimerEvent) : void    {
         this.swfVideoTimer.removeEventListener(TimerEvent.TIMER,this.funcEvSwfVideoEnd);
         this.swfVideoLoader.unloadAndStop(true);

  • Is there a way to remove captivate swf click listeners?

    Hi, this is my first time posting.  After a lot of searching and no answers I figure maybe someone here knows.
    Short background: I have a captivate Sim that is being loaded into a sim viewer of a courseware.  The sim viewer has it's own directional pointers, feedback boxes, and instructional boxes.  To get all of this working correctly has been difficult, and I'm using AS3, Captivate 4, Flash CS4, and export for Flash Player 10 for the unloadAndStop() command to clean it up when no longer needed.
    My question: is it possible to directly remove the event listener that captivate is using to listen for mouse clicks? (and add it back when needed)
    I have the correct/incorrect calling a Javascript.  On incorrect, it is set to one attempt, but the javascript tells it to:
    loaderPath.content.rdcmndPause = 1;
    loaderPath.content.rdcmndGotoSlide = loaderPath.content.rdinfoCurrentSlide;
    loaderPath.content.rdcmndResume = 1;
    so, it does not really go anywhere when they get it wrong (kind of a rig for unlimited attempts with incorrect callback)
    The sim I'm using requires that it can be "paused" in essence, with an opaque layer over it.  The problem is that it STILL gets the mouse clicks even through this layer.  I managed to create a conditional rig to fix that (a Boolean that when set to false, does not evaluate the javascript calls i get for correct and incorrect clicks).  but I still have a problem where when the Sim is active, there is a drag and drop instructions box, and when it's released, it evaluates incorrect.
    so, I'm sorry if that is confusing, but I'm basically wondering if there is a way to block captivate from getting the mouse click on an evaluation slide when you don't want it to?

    That would not really solve my issue at all.  I need it to not register a click for correct OR incorrect at a certain point in time (when they are dragging an information window and they drop it).
    Say that I have a screen with a large click box on it, that is correct, and the rest of the screen is incorrect.  If they just happen to drag and drop the information window over part of the correct box I obviously do not want it registering as the correct answer.  I need a way to block all mouse click and release information from communicating with the Captivate .swf (but also the ability to turn it back on).

  • Why do scaled and masked captivate swfs respond to clicks outside the mask? Can it be stopped?

    We load Captivate 3 SWFs at runtime into our own course player, with movieclip.loadmovie. Our player is built with AS2 and published to Flash 8. We publish our Captivate movies to the same specs. Our latest challenge requires scaling and masking the Captivate SWF.
    A click outside the masked Captivate still triggers a click as far as Captivate is concerned, and it throws up a “that’s incorrect” message. Specifically, it only happens when you click in a spot that has masked Captivate “behind” it. In other words, if there would be Captivate there if the mask was turned off, Captivate will respond even when the mask is turned on.
    Is there a way to make Captivate ignore mouse clicks outside of the mask? I think it must be responding to Mouse.onMouseDown() since normally a masked object won’t respond to clicks outside the mask.
    I’ve put together a small test file to demonstrate exactly what’s happening, and I’ve posted it here: http://www.tbgprod.com/_experiments/captivatemasktest/captivatemasktest.swf
    I’ve also uploaded the .fla file. It’s ony 50kb and it’s available here: http://www.tbgprod.com/_experiments/captivatemasktest/MaskTest01.fla
    You’ll also need the Captivate .swf file if you want to test locally. Here’s the direct link. Right-click and save target as: http://www.tbgprod.com/_experiments/captivatemasktest/DisplayProperties.swf
    My question is "how do I make Captivate ignore clicks outside the mask?"
    Many thanks,
    Todd S

    Even if anyone just has any knowledge of how Captivate 3 movies actually monitor the mouse, I'd be happy to hear it. In other words, can anyone confirm my hunch? If we knew the internal structure of the Captivate SWF would it be possible to clear and restore some function as the mouse moves inside or outside of the target area? Something like this:
    on mousemove {
         if mouse has crossed boundary to the outside {
              functionBuffer = container.whatever.whatever.function;
              container.whatever.whatever.function = null;
         else if mouse has cross boundary to the inside {
              container.whatever.whatever.function = functionBuffer;
    This would kill Captivate's mouse functions and then bring them back to life, as the mouse exits and re-enters the masked Captivate area. Two questions:
    1. If we knew the necessary whatever.whatever.function information, would this work?
    2. Does anybody know the necessary whatever.whatever.function information?

  • Captivate SWF Quality Poor in Presenter 7.0

    Hi,
    My company recently purchased Presenter 6 to run on
    PowerPoint 2003, which was great - we were able to produce some
    really high quality content by incorporating screenshots, clip-art,
    Flash animations and Captivate movies.
    Then the dreaded upgrades began. We move to PowerPoint 2007
    and were forced to upgrade to Presenter 7.0, which at the time
    didn't seem like a big deal. However, since upgrading I've noticed
    that graphics and in particular Captivate SWFs displayed in the
    Presenter output are of a pretty low quality. I've set the image
    setting to High in Presenter but it makes no difference.
    I'm pretty sure it's not Captivate because the SWF output
    looks perfectly good if played on its own directly in a web
    browser.
    Has anybody out there noticed this with Presenter 7 and if
    so, have you got any idea why it happens and what I can do to fix
    it?
    Thanks,
    Alex Samson

    There is no reason that Captivate swf that played fine on
    Presenter6/PowerPoint2003 should show up in degraded quality in
    Presenter7/PowerPoint2007.
    The image quality settings won't change anything in the
    Captivate swf.
    My best guess would be that the Captivate swf contains some
    screenshots and the size of the flash object inserted into the
    slide is not letting flash player draw the image properly.
    Try adjusting the size of the flash object that gets inserted
    into the slide to be same as how it appeared in
    P6/Office2003.

  • How to create a flash menu that links to specific slides with in a Captivate swf

    Hi,
    I was wondering if someone could step by step explain how to
    create a menu in flash that links to specific slides with in a
    captivate swf. I understand that there is a rdcmndGotoSlide
    command. I can't seem to get it to work.
    Thanks,

    pdp_1 wrote:
    Hi!
    I would like to create a DVD menu that offers two languages. So the first page gives two options: Language 1 and Language 2. Then depending on which language you choose, you go to a menu that proposes different videos and a photo slideshow.
    Regardless on which language button you click on initially, you get the same content but in different languages.
    I've been looking at Premiere's templates, which I can certainly customize, but I really don't see how to create the double menu. Does anybody have an idea?
    Put the video with the first language on the timeline followed by the video with the second language.  Use chapter markers so you can have each video as a chapter in the menu.
    I use Premiere Pro, so I can't give more specific directions. Perhaps somebody like ATR will chime in.
    Also, I have another question: can I put videos from different projects in the same DVD with Premiere or must all of the videos that go into the DVD be in the same project?
    Thank you very much!!!
    pdp1
    They must be in the same project.

  • Detect "end of file" while send n numbers files over a socket?

    Hi!
    I�m trying to find a way to detect "end of file" while send n numbers files over a socket.
    What i'm looking for is how to detect on the client side when the file i�m sending is downloaded.
    Here is the example i�m working on.
    Client side.
    import java.io.*;
    import java.net.*;
    public class fileTransfer {
        private InputStream fromServer;
        public fileTransfer(String fileName) throws FileNotFoundException, IOException {
            Socket socket = new Socket("localhost", 2006);
            fromServer = socket.getInputStream();
            for(int i=0; i<10; i++)
                receive(new File(i+fileName));
        private void receive(File uploadedFile) throws FileNotFoundException, IOException {
            uploadedFile.createNewFile();
            FileOutputStream toFile = new FileOutputStream(uploadedFile);
            byte[] buffer = new byte[4096];
            int bytesRead = 0;
            while ((bytesRead = fromServer.read(buffer)) != -1) {
                toFile.write(buffer, 0, bytesRead);
        public static void main(String[] args) {
            try {
                new fileTransfer("testa.jpg");
            } catch (Exception ex) {ex.printStackTrace();}
    }Server side.
    import java.io.*;
    import java.net.*;
    public class fileTransferSend {
        Socket serv = null;
        OutputStream toClient;
        public fileTransferSend(String fileName) throws FileNotFoundException, IOException {
            StartServer();       
            for(int i =0; i<10; i++)
                send(new File(fileName));
        public void StartServer() throws IOException {
            ServerSocket ssocket = new ServerSocket(2006);
            System.out.println("Waiting for incomming");
            serv = ssocket.accept();
            System.out.println("incomming");
            toClient = serv.getOutputStream();
        private void send(File f) throws FileNotFoundException, IOException {
            if(f.exists() && f.canRead()) {
                FileInputStream fromFile = new FileInputStream(f);
                try {
                    byte[] buffer = new byte[4096]; // 4K
                    int bytesRead = 0;
                    System.out.println("sending: "+f.getName());
                    while ((bytesRead = fromFile.read(buffer)) != -1) {
                        toClient.flush();
                        toClient.write(buffer, 0, bytesRead);
                finally {
                    //toClient.close();
                    fromFile.close();
            } else {
                System.out.println("no files");
        public static void main(String[] args) {
            try {
                new fileTransferSend("test.jpg");
            }catch(Exception e) {e.printStackTrace();}
    I know that the client never reads -1 becuase i doesn�t close the stream.
    Is there anyway to tell the client that the file is downloaded?

    A common (and easy) TCP/IP protocol is to send length, followed by data.
    Because TCP/IP is a stream-oriented protocol, a receiver can never absolutely determine where the first packet ends and the second packet begins. So it is common to send the length of the packet, followed by the packet itself.
    In your case, you could send length of file, followed by file data. It should be fairly easy to obtain file length and send that as a 32-bit (or 64-bit value). Here is an idea (not code) for the receiver:
    receive (4) // where 4 = number bytes to receive
    unsigned length = convert 4 bytes to unsigned integer
    while (length != 0)
    n = receive ( length ) // where n = number bytes actually received, and length = number bytes desired
    Or, you can use the concept of an "Escape" character in the stream. Arbitrarily choose an ESCAPE character of 0x1B (although it could be any 8-bit value). When the receiver detects an ESCAPE char, the next character can be either control or data. So for end of file you might send 0x1B 0x00. If the byte to be sent is 0x1B, then send 0x1B 0x1B. The receiver would look something like this:
    b = read one byte from stream
    if (b == 0x1B)
    b = read one byte from stream
    if (b == 0x00) then end of file
    else place b in buffer
    else
    place b in buffer
    Later.

  • Controlling an AS3 Captivate swf from Flex -- set quiz preferences

    Hi All,
    I'm able to use the SWFLoader to load the a Captivate.swf, and play it using the nextSlide, previousSlide etc.  However I am being blocked by the quizzes.
    I have access to all the rd* and cp* symbols.   I would like to navigate through all the slides, but if I have a quiz, I am blocked from 'rdcmndNextSlide'  or setting 'rdcmndGotoSlide'  past the quiz.  Does anyone know if this can be done?  Please help!

    DaddyDog,
    Have you checked your Quiz Settings in preferences for your Cp4 project?  There are two options to allow backward movement and to allow reviewing of the quiz.  You may want to try adjusting these.
    When you say you've been successful using the "nextSlide, previousSlide etc.", do you mean the buttons on the Cp playbar?
    One trick that has helped me greatly is obtaining and modifying the movie xml.  The movie xml is generated at runtime and defines the slides, slide objects, quiz settings, quiz slides... etc.  You may want to examine this to see if you can manipulate it to your advantage.  Here's how I can reference it from an AS3 Cp4 widget:
    var mainmov:MovieClip = MovieClip(root);
    var movXML:XML = new XML(mainmov.movieXML);
    Not sure how you have your Flex app loading the captivate swf, but I'm sure you could figure out how to reference the movieXML from another parent in your app.
    HTH,
    Jim Leichliter

Maybe you are looking for