2012-03-24 19 views
0

i Problem mit bin ein Video-Player in Flash über AS3 schaffen, das Problem ist, dass, wenn ich versuche, das Projekt zu kompilieren, der Compiler-Fehler zeigt:1120: Zugriff von nicht definierte Eigenschaft _stop

1120: Access of undefined property _stop. 
1120: Access of undefined property _pause. 
1120: Access of undefined property _play. 
1180: Call to a possibly undefined method Button. 
1120: Access of undefined property _prev. 
1180: Call to a possibly undefined method Button. 
1120: Access of undefined property _next. 

Und das geht so weiter, wie ich diese Objekte erwähnt habe, also bitte hilf mir, das zu lösen. und bin ein Neuling, also ein bisschen schwer für mich, den Fehler zu finden.

AS3:

import flash.events.MouseEvent; 

var _xmlLoader  :URLLoader  = null; 

var _urlRequest  :URLRequest  = null; 

var _xml   :XML   = null; 

var _netConn  :NetConnection = null; 

var _netstr   :NetStream  = null; 

var _video   :Video   = null; 

var _currentVideoId :int   = 0; 

var _isPlaying  :Boolean  = false; 

var _soundTransform :SoundTransform = new SoundTransform(); 

var _volume   :int   = 1; 

var _duration  :Number   = 0; 

function Init():void 

{ 
    _urlRequest = new URLRequest("vids.xml"); 

    _xmlLoader = new URLLoader(); 
    _xmlLoader = new URLLoader(_urlRequest); 
    _xmlLoader.addEventListener(Event.COMPLETE, XMLLoaded, false, 0, true); 
} 

function XMLLoaded($e:Event):void 
{ 
    _xml = new XML($e.target.data); 
} 

function SetupVideo():void 
{ 
    _netConn = new NetConnection(); 
    _netConn.addEventListener(NetStatusEvent.NET_STATUS, OnStatusEvent, false, 0, true); 
    _netConn.connect(null); 

} 

function OnStatusEvent(stat:Object):void 
{ 
    trace(stat.info.code); 
    switch(stat.info.code) 
    { 
     case "NetConnection.Connect.Success": 
      SetupNetStream(); 
      break; 
     case "NetStream.Play.Stop": 
      _stop.enabled = false; 
      _pause.enabled = false; 
      _play.enabled = true; 
      _isPlaying = false; 
      _netstr.close(); 
      break; 
    } 
} 

function SetupNetStream():void 
{ 
    _netstr = new NetStream(_netConn); 
    _netstr.addEventListener(NetStatusEvent.NET_STATUS, OnStatusEvent, false, 0, true); 

    var $customClient = new Object(); 
    $customClient.onMetaData = onMetaData; 

    _netstr.client = $customClient 

    _video = new Video(500, 250); 
    _video.smoothing = true; 
    _video.y 
    _video.x = stage.stageWidth/2 - _video.width/2; 
    _video.attachNetStream(_netstr); 
    addChild(_video); 
} 

function onMetaData($info:Object):void 
{ 
    _duration = $info.duration; 
} 

function SetupButtons():void 
{ 
    _prev.addEventListener(MouseEvent.CLICK, PreviousVideo, false, 0, true); 
    _next.addEventListener(MouseEvent.CLICK,NextVideo,false,0,true); 
    _play.addEventListener(MouseEvent.CLICK, PlayVideo, false, 0, true); 
    _pause.addEventListener(MouseEvent.CLICK, PauseVideo, false, 0, true); 
    _stop.addEventListener(MouseEvent.CLICK, StopVideo, false, 0, true); 
    _sound.addEventListener(MouseEvent.CLICK, SoundVolume, false, 0, true); 

    _stop.enabled = false; 
    _pause.enabled = false; 
    _prev.enabled = false; 
    _next.enabled = false; 
} 

function PreviousVideo($e:MouseEvent):void 
{ 
    _currentVideoId -=1; 

    _stop.enabled = true; 
    _pause.enabled = true; 
    _play.enabled = false; 

    if(_currentVideoId < 0) 
    { 
     _currentVideoId = _xml.video.length()-1; 
    } 

    _videoName.text = _xml.video[_currentVideoId][email protected]; 
    _netstr.play(String(_xml.video[_currentVideoId][email protected])); 
} 

function NextVideo($e:MouseEvent):void 
{ 
    _currentVideoId +=1; 

    _stop.enabled = true; 
    _pause.enabled = true; 
    _play.enabled = false; 

    if(_currentVideoId == _xml.video.length()) 
    { 
     _currentVideoId = 0; 
    } 
    _videoName.text = _xml.video[_currentVideoId][email protected]; 
    _netstr.play(String(_xml.video[_currentVideoId][email protected])); 
} 

function PlayVideo($e:MouseEvent):void 
{ 
    _play.enabled= false; 
    _next.enabled = true; 
    _prev.enabled = true; 
    _stop.enabled= true; 
    _pause.enabled= true; 

    if(_isPlaying == false) 
    { 
     _isPlaying = true; 
     _netstr.play(String(_xml.video[_currentVideoId][email protected])); 
     _videoName.text = _xml.video[_currentVideoId][email protected]; 
     addEventListener(Event.ENTER_FRAME, Update, false, 0, true); 
    }else{ 
     _netstr.resume(); 
    } 
} 

function PauseVideo($e:MouseEvent):void 
{ 
    _play.enabled= true; 
    _pause.enabled= false; 
    _netstr.pause(); 
} 

function StopVideo($e:MouseEvent):void 
{ 
    _stop.enabled= false; 
    _pause.enabled= false; 
    _play.enabled= true; 

    _isPlaying = false; 
    removeEventListener(Event.ENTER_FRAME, Update); 
    _netstr.close(); 
} 

function Update($e:Event):void 
{ 
    _track.value = (_netstr.time/_duration) * _track.maximum; 
} 

function SoundVolume($e:MouseEvent):void 
{ 
    if(_volume == 1) 
    { 
     _volume = 0; 
     _sound.label = "Sound On"; 
    }else{ 
     _volume = 1; 
     _sound.label = "Sound Off"; 
    } 

    _soundTransform.volume = _volume; 
    _netstr.soundTransform = _soundTransform; 
} 

Init(); 
SetupVideo(); 
SetupButtons(); 

Und auch habe ich konvertiert diese auf Tastensymbole Objekte.

Antwort

1

Wahrscheinlich vergessen Sie Instanznamen für die Objekte zuweisen, die als _stop verwendet, _pause, _play Tasten usw.

Und auch Flagge in den Eigenschaften in der Bibliothek, die „für die Actionscript-Export“ überprüfen.

+0

ist es wichtig, Objekte wie Movieclip zuweisen? –

+0

Ofcourse nicht) korrigiert Bereits – Arkady

+0

leider arkady ich nicht bekommen you..are Sie mir zu sagen, die Objekte oder Schaltflächen als movieclip..if zuweisen so ist, dann habe ich das aber nicht funktioniert entweder .. –