Skip navigation
curlybub
Currently Being Moderated

Preloading a published captivate recording to flash AS2

Mar 16, 2010 1:06 AM

Hi,

 

I have a video recording made in adobe captivate 4 and disabled the preloader on the publish preferences. The reason why I disabled this is because other people cannot see the preloader while the captivate movie is loading but the preloader displays when I view it online usign my computer (Do you have any idea on how I can fix this?). As an alternative/workaround I created a movieclip loader class and load the external captivate movie in flash. The preloader that I created works. However, the captivate movie plays at once even if the movieclip loader hasn't reached 100%. How can I prevent the captivate movie to play while the preloader isn't 100%? I also get an error on flash while simulating download in flash. The error says:

 

Branching::script:;;
deepak branching : scripteval:[object Object];

 

When I get that error, that is the time that the captivate movie plays. Below is my code in flash it is in AS2.

 

var linking:MovieClip = _root;
var level2 = linking.attachMovie("captivateHolder", "captivateHolder", this.getNextHighestDepth());

 

var loader:MovieClipLoader = new MovieClipLoader();
loader.loadClip("captivate/prequalified_contractors.swf", level2.captivateMovie);

var preload:Object = new Object();
loader.addListener(preload);

preload.onLoadStart = function(target){
  trace("Started Loading");
}

preload.onLoadProgress = function (target, loadedBytes, totalBytes){
  level2.captivatePreloader.text = Math.floor((loadedBytes/totalBytes)*100)+"%";
  level2.captivateMovie.rdcmndNextSlide = 0;
}

preload.onLoadComplete = function(target){

  level2.captivatePreloader.text = " ";
  level2.captivateMovie.rdcmndNextSlide = 1;
}

 

I tried to restrict the captivate movie from playing by putting rdcmndNextSlide = 0;

My question is, how can I restrict the captivate movie from playing while the event is still on the onLoadProgress and make it play once the preloader reaches 100%.

 

This is the first time that I used adobe captivate 4.

 

Thank you.

 

Regards,

Harry

 
Replies
  • Currently Being Moderated
    Jan 12, 2014 5:41 AM   in reply to curlybub

    You could pause the Captivate project when you start to preload it by using the Captivate system variables. Then when your file has been loaded 100% you could resume it again by using a different system variable.

     

    You can see a list of the various system variables here: http://www.cpguru.com/2009/04/28/system-variables-in-captivate-4-%e2%8 0%93-a-complete-list/

     

    The relevant variables for you would be:

     

    rdcmndPause = 1; (to pause the project)

    rdcmndResume = 1; (to resume playback)

     

    Naturally you need the instancename (where you load your Captivate movie into) infront of the variable name.

     

    myLoaderContainer.rdcmndPause = 1;

     

    /Michael


     
    |
    Mark as:
  • Currently Being Moderated
    Jan 12, 2014 5:41 AM   in reply to curlybub

    Hi Harry,

     

    Yeah it's kinda strange with these variables the way they work but you do need to use both of them. The rdcmndPause = 1 will pause the project. Setting it to zero again will not unpause it. Therefore you need the rdcmndResume = 1 to resume playback.

     

    /Michael


     
    |
    Mark as:
  • Currently Being Moderated
    Jan 12, 2014 5:40 AM   in reply to curlybub

    I don't think there is an easy way to detect if the Captivate movie is playing or not, but I could be wrong. I don't know of any variable that will show it

    .

    I think you could get around it by using the RdinfoCurrentFrame variable to check for the current frame and then recheck after a small delay and see if the first value is lower than the second value. That would indicate that the Captivate movie is playing.

     

    As for re-enabling the scrubber that is not possible. If you use the directions on my blog then that means that you are deleting the event handler for the scrubber and there is no way to reinstate that once it has been deleted.

     

    A workaround could be to insert a blank slide of 1 second as your first slide. Then set the variable cpCmndShowPlaybar to 0 on that slide - that can be done directly in Captivate - slide properties. On slide 2 (which is where your actual content is) then reset the variable to 1 and the playbar would show.

     

    Hope this helps.

     

    /Michael


     
    |
    Mark as:
  • TLCMediaDesign
    419 posts
    Nov 5, 2008
    Currently Being Moderated
    Jan 14, 2014 10:06 AM   in reply to curlybub

    I had created a Flash container for software demos. There were demos on several screen that were captured in CP. I ran into so many issues that I eentually exported those to Flash from Captivate. I was using AS3, but I never added the loader to the stage until the load was complete and kept it invisible until the frame where it was needed. Here is my code to get an idea. I'll see if I can find a version when I was still using CP swf files. The problem with those is if the user clicked the back button, it was almost impossible to accurately control the CP movies.

     

    if (demo1 != 0)
    {
    var demo1Request = new URLRequest("demo1.swf");
    var demo1Loader = new Loader;
    demo1Loader.load(demo1Request);
    demo1Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, demo1Loaded);
    }

    var demo1Content:*;

    function demo1Loaded(e:Event):void

    demo1Content = demo1Loader.content;
    demo1Loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,demo 1Loaded);
    demo1Content.gotoAndStop(1);
    demo1Container.addChild(demo1Loader)
    demo1Container.visible = false;
    }

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points