j'ai problème dans la création d'un lecteur vidéo en flash via AS3, le problème est que chaque fois que je tente de compiler le projet, l'erreur du compilateur indique:1120: Accès des _stop de propriété non définie
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.
Et ce continue à aller autant que j'ai mentionné ces objets, alors s'il vous plaît aidez-moi à résoudre ce problème. et je suis un débutant donc un peu difficile pour moi de trouver l'erreur.
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();
Et même j'ai converti ce objets à des symboles de bouton.
Est-il important d'affecter des objets en tant que MovieClip? –
Ofcourse n'est pas) Déjà corrigé – Arkady
désolé arkady je ne vous ai pas .. vous me dites d'attribuer les objets ou les boutons comme movieclip..si alors je l'ai fait, mais n'a pas fonctionné non plus .. –