Custom Class Creation

Hi guys,

I’m making a custom class from a player I created from scratch.

After multi verification of the instances , and after linking correctly my movie clip player, I still get the 1120 error.

It doesn’t get the “Player_mc.” and all the mc inside it.

1120: Accès à la propriété non définie Player_mc.

Can someone help me on this one please ?

All of this is my first flash project.

Thanks.



package{
    
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.events.NetStatusEvent;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import gs.TweenLite;
    import fl.motion.easing.*;
    import flash.utils.Timer;
    import flash.events.TimerEvent;


    public class MonPlayerVideo extends MovieClip {        
        
        
            public const BUFFER_TIME:Number                    = 8;
            public const DEFAULT_VOLUME:Number                = 0.6;
            public const DISPLAY_TIMER_UPDATE_DELAY:int        = 10;
            public const SMOOTHING:Boolean                    = true;
            
            
            private var nc                    :    NetConnection;
            private var ns                    :    NetStream;
            private var video                :    Video;
            private var displayHours        :    Boolean         = true;    
            private var isLoop                :    Boolean         = false;
            private var startBufferLength    :    Number             = 5;
            private var xpandedBufferLength    :    Number             = 15;
            private var playAtStart            :    Boolean         = true;
            private var bolVolumeScrub        :    Boolean            = false;
            private var bolProgressScrub    :    Boolean             = false;
            private var tmrDisplay            :    Timer;
            private var objInfo                :    Object;
            private var intLastVolume        :    Number            = DEFAULT_VOLUME;

    public function PlayerVideo(){
        
            //video= new Video();
            //video_mc.addChild(video);
            nc = new NetConnection(); 
            nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            nc.connect(null);
            initControls();    
    }
    
    public function setVideo(file:String):void{
            
                ns =new NetStream(nc);
                ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                //ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
                ns.bufferTime= BUFFER_TIME;
                ns.client = this;
                ns.play(file);
                if(playAtStart==false){
                    ns.pause();
                        Player_mc.ControlBar_mc.playpause_mc.gotoAndStop(1);
                    }else{                
                        Player_mc.ControlBar_mc.playpause_mc.gotoAndStop(2);
                }            
                

                Player_mc.VidDisplay.attachNetStream(ns);
                Player_mc.VidDisplay.smoothing  = SMOOTHING;
                
                tmrDisplay = new Timer(DISPLAY_TIMER_UPDATE_DELAY);
                tmrDisplay.addEventListener(TimerEvent.TIMER, updateDisplay);
    }
    
    private function initControls():void{
        
        
            Player_mc.ControlBar_mc.playpause_mc.useHandCursor                                             = true;
            Player_mc.ControlBar_mc.playpause_mc.buttonMode                                                = true;
            Player_mc.ControlBar_mc.goFullScreen_mc.buttonMode                                             = true;
            Player_mc.ControlBar_mc.goFullScreen_mc.useHandCursor                                         = true;
            Player_mc.ControlBar_mc.godebut_mc.buttonMode                                                 = true;
            Player_mc.ControlBar_mc.godebut_mc.useHandCursor                                             = true;
            Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.buttonMode                         = true;
            Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.useHandCursor                     = true;
            Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.buttonMode             = true;
            Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.useHandCursor         = true;

    
            Player_mc.ControlBar_mc.playpause_mc.addEventListener(MouseEvent.CLICK, PlayPause);
            Player_mc.ControlBar_mc.goFullScreen_mc.addEventListener(MouseEvent.CLICK, ClickFullScreen);
            Player_mc.ControlBar_mc.goFullScreen_mc.addEventListener(MouseEvent.MOUSE_OVER, fullscreen);
            Player_mc.ControlBar_mc.goFullScreen_mc.addEventListener(MouseEvent.MOUSE_OUT, fullscreenOut);
            Player_mc.ControlBar_mc.godebut_mc.addEventListener(MouseEvent.CLICK, goDebut);
            Player_mc.ControlBar_mc.addEventListener(MouseEvent.MOUSE_OVER, manageMouseOver);
            Player_mc.ControlBar_mc.addEventListener(MouseEvent.MOUSE_OUT, manageMouseOut);
    
    
            Player_mc.ControlBar_mc.btnVolumeBar.addEventListener(MouseEvent.MOUSE_DOWN, volumeScrubberClicked);
            Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.addEventListener(MouseEvent.MOUSE_DOWN, volumeScrubberClicked);
            Player_mc.ControlBar_mc.btnProgressBar.addEventListener(MouseEvent.MOUSE_DOWN, progressScrubberClicked);
            Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.addEventListener(MouseEvent.MOUSE_DOWN, progressScrubberClicked);

            Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.x = (93 * DEFAULT_VOLUME) + 372;
            Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarFill_mc.width = Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.x - 467 + 93;
            setVolume(DEFAULT_VOLUME);
            
    }
    
    
    private function onMetaData(info:Object):void {
    
        objInfo = info;
        tmrDisplay.start();
    }


    private function netStatusHandler(event:NetStatusEvent):void {    
            switch (event.info.code) {                
                case "NetStream.Buffer.Full":
                    ns.bufferTime = xpandedBufferLength;                    
                    break;

                case "NetStream.Buffer.Empty":
                    ns.bufferTime = startBufferLength;                    
                    break;
                
                
            }
                
    }
    
    
    private function videoTimeConvert(myTime):String {
    
    
            var tempNum = myTime;
            var minutes = Math.floor(tempNum / 60);            
            if (displayHours) {
                var hours = Math.floor(minutes / 60);
            }
            var seconds = Math.round(tempNum - (minutes * 60));            
            if (seconds < 10) {
                seconds = "0" + seconds;
            }
            if (minutes < 10) {
                minutes = "0" + minutes;
            }            
            if (displayHours) {
                if (hours < 10){
                    hours = "0" + hours;
                }
            }            
            var currentTimeConverted =  minutes + ":" + seconds;            
            return currentTimeConverted;
    }
    
    
    
    private function PlayPause(e:MouseEvent=null){        
            
            
            if(Player_mc.ControlBar_mc.playpause_mc.currentFrame == 1){
                playVideo();        
            }else{
                pauseVideo();
            }
            
    }
            

    private function pauseVideo():void{            
            
            Player_mc.ControlBar_mc.playpause_mc.gotoAndStop(1);
            ns.pause();
            
    }
            

    private function playVideo():void{            
            
            Player_mc.ControlBar_mc.playpause_mc.gotoAndStop(2);
            ns.resume();
            
    }
        

    private function goDebut(event:MouseEvent):void {
    
            ns.seek(0);
    
    }

    private function manageMouseOver(e:MouseEvent):void{
    
            TweenLite.to(Player_mc.ControlBar_mc, 2, {alpha:1});
    }
 

    private function manageMouseOut(e:MouseEvent):void{
              
            TweenLite.to(Player_mc.ControlBar_mc, 2, {alpha:0});
  
    }
    
    private function fullscreen(e:MouseEvent):void {
    
    
    Player_mc.ControlBar_mc.goFullScreen_mc.gotoAndStop(2);


    }

    private function fullscreenOut(e:MouseEvent):void {
    
    
    Player_mc.ControlBar_mc.goFullScreen_mc.gotoAndStop(1);


    }


    private function ClickFullScreen(event:MouseEvent):void {
    
        if (stage.displayState == StageDisplayState.NORMAL) {
            stage.displayState=StageDisplayState.FULL_SCREEN;
        } else {
            stage.displayState=StageDisplayState.NORMAL;
        }
    
    }
    
    
    private function updateDisplay(e:TimerEvent):void {

    
        if(bolProgressScrub)
            ns.seek(Math.round(Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.x * objInfo.duration / 230))
        else
            Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.x = ns.time * 230 / objInfo.duration; 
        
        
        var nowSecs:Number = Math.floor(ns.time);
        Player_mc.ControlBar_mc.timer_txt.text        = videoTimeConvert(nowSecs);
        
    
        Player_mc.ControlBar_mc.ProgressBar_mc.ProgressBarFill_mc.width    = Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.x + 5;
        Player_mc.ControlBar_mc.ProgressBar_mc.ProgressBarDL_mc.width    = ns.bytesLoaded * 229 / ns.bytesTotal;
        
    
        if(bolVolumeScrub) {
            setVolume((Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.x - 0) / 93);
            Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarFill_mc.width = Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.x - 93 + 93;
        }
        
    
    }

    private function setVolume(intVolume:Number = 0):void {
    
        var sndTransform        = new SoundTransform(intVolume);
        ns.soundTransform        = sndTransform;
        
    }

    private function volumeScrubberClicked(e:MouseEvent):void {
    
        bolVolumeScrub = true;
        Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.startDrag(true, new Rectangle(0, 0, 93, 0)); //
    }



    private function progressScrubberClicked(e:MouseEvent):void {

        bolProgressScrub = true;
        Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.startDrag(true, new Rectangle(0, 0, 222, 0));
    }




    private function mouseReleased(e:MouseEvent):void {
    
        bolVolumeScrub        = false;
        bolProgressScrub    = false;
    
    
        Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.stopDrag();
        Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.stopDrag();
        
        
        Player_mc.ControlBar_mc.ProgressBar_mc.ProgressBarFill_mc.width    = Player_mc.ControlBar_mc.ProgressBar_mc.ProgressScrubber_mc.x + 5;
        Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarFill_mc.width    = Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.x - 467 + 93;
        
        
        if((Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.x - 372) / 93 > 0)
            intLastVolume = (Player_mc.ControlBar_mc.SoundControlBar_mc.SoundControlBarScrubber_mc.x - 372) / 93;
        
        
    }
  }
}


  

And here’s how I put it in my fla :


import MonPlayerVideo ;

var myPlayer:MonPlayerVideo = new MonPlayerVideo;



myPlayer.setVideo("reel.flv");
this.addChild(myPlayer);