Hi list...

I've written a singleton that should load in videos on demand, but it
plays the video twice, once only audio, and the second, a couple of
milliseconds later, both audio and video.  Components on the stage call
loadVideo, and through debugging, I know that call is only fired once,
therefore, I can't figure out why the video runs twice.  Also, I don't
get what the difference is between an FLVplayback component and a Video
item in the library.  And, is there a method that commences loading of a
video?  And also, a property that shows elapsed time?  The documentation
just isn't clear to me.

Thanks,
- Michael M.


import flash.external.*;
import flash.geom.Transform;
import flash.geom.ColorTransform;
class welcomeWebpage {
        // class properties
///////////////////////////////////////////////////////////////
        public var nc:NetConnection;
        public var ns:NetStream;
        public var ui:MovieClip;
        public var intervalIDs:Object;
        public static var inst:welcomeWebpage = undefined;
        // class methods
//////////////////////////////////////////////////////////////////
        private function welcomeWebpage() {
                // singleton pattern
        }
        public static function getInstance():welcomeWebpage {
                if (inst == undefined) {
                        inst = new welcomeWebpage();
                }
                return inst;
        }
        public function init():Void {
                // init class properties...
                intervalIDs = {loader:new Number(), player:new
Number()};
                ui = _root.ui;
                ui.vidDisplay.stop();
                nc = new NetConnection();
                nc.connect(null);
                ns = new NetStream(nc);
        }
        // video related methods
////////////////////////////////////////////////////////////
        public function loadVideo(theVid, callingLink) {
                ui.vidDisplay.gotoAndStop(2);
                ns.play(theVid);
                intervalIDs.loader = setInterval(this, "loadProgress",
100, theVid);
        }
        public function loadProgress(nameOfVid):Void {
                if ((ns.bytesLoaded / ns.bytesTotal) == 1) {
                        // finished loading: clear interval, play video
                        this.playVideo(nameOfVid);
                        clearInterval(this.intervalIDs.loader);

                } else {
                        // not completely loaded in yet
                        trace(Math.round((ns.bytesLoaded /
ns.bytesTotal) * 100) + ": pct loaded of " + nameOfVid);
                }
        }
        public function playVideo(theVid):Void {
                // done loading, now play...
                ui.vidDisplay.theScreen.contentPath = theVid;
                //intervalIDs.player = setInterval(this, "playProgress",
100, theVid);
        }
        public function playProgress(nameOfVid):Void {
                trace(ui.vidDisplay.theScreen.contentPath + "   " +
ns.time);
        }
}

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to