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);