Bonjour,

Je suis légérement coincé au niveau des Flashvars, j'ai une erreur en ligne 38 qui me dit qu'un " else " n'est pas attendu alors que j'ai parfaitement remis comme il à été décrit dans le tuto, si vous aviez 2 min pour me donner vos avis.

Voila le contenu complet de mon Main.as :

package  
{
    import flash.display.MovieClip;
    import flash.events.Event;
    import com.video.youtube;
    import flash.display.StageAlign;

    /**
     * ...
     * @author : Maverick072x
     */
    public class Main extends MovieClip 
    {
        private var video:youtube;

        public function Main() 
        {
             addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event):void 
        {
            // Comportement du stage
            stage.align = StageAlign.BOTTOM_LEFT;
            stage.addEventListener(Event.RESIZE, rezise);
            removeEventListener(Event.ADDED_TO_STAGE, init);

            // Flashvars
            if (stage.loaderInfo.parameters.autoplay == null || stage.loaderInfo.parameters.autoplay == 0) {
                stage.loaderInfo.parameters.autoplay = 0;
                btn_pause.visible = false;
            } else {
                btn_play.visible = false;
            }
            if (stage.loaderInfo.parameters.youtube != null); {
                video = new youtube(stage.loaderInfo.parameters.youtube);
            }
            else {
                video = new youtube('trPKyf2lyBY');
            }
            addChildAt(video, 0);
            video.y = stage.stageHeight;
            video.addEventListener('loadedVideo', function(e:Event) { resize:(null); } );

            btn_play.addEventListener(MouseEvent.CLICK, video.playVideo);
            btn_pause.addEventListener(MouseEvent.CLICK, video.pauseVideo);
        }

        private function rezise(e:Event):void 
        {
            btn_pause.x = btn_play.x = stage.stageWidth / 2;
            video.redim(stage.stageWidth, stage.stageHeight);
        }

    }
}

Merci d'avance de votre aide :)

6 réponses


Quelqu'un aurait une piste ?? Merci d'avance :)

Hello, un ";" en trop.
Ligne 35 : if (stage.loaderInfo.parameters.youtube != null) ; {

Merci de ton aide pour le ; en trop, mais maintenant il m'annonce qu'une erreur 1120 se trouve ligne 45 et 46 ... Si t as des idées, je te remercie d'avance :)

L'erreur 1120 dit en gros que les fonctions "playVideo" et "pauseVideo" ne sont pas crée OU qu'il ne connait pas "btn_play" et "btn_pause".

Normalement ce qui manque est écrit à côté de l'erreur. (Dans mon cas = "1120: Accès à la propriété non définie hasMaintenance. BlogController.as /WebSite/src/mvc/controllers ligne 29")

Ah ok, pour le fichier youtube, tu verrais des erreurs ? ( Tu semble avoir ebaucoup plus de connaissance que moi sur le flash, merci d'avance !!

package com.video
{
    import flash.display.Loader;
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.URLRequest;
    import flash.system.Security;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    import flash.events.EventDispatcher;

    /**
     * ...
     * @author Maverick072x
     */
    public class youtube extends MovieClip 
    {
        private var videoID;
        private var autoplay;
        private var loader;
        private var video;
        private var state;
        private var t;
        private var duration;
        private var bytesTotal;
        private var current;
        private var bytesLoaded;
        private var bytesStart;

        public function youtube(id:String,autoplay=0):void 
        {
            Security.allowDomain('www.youtube.com');
            this.videoID = id;
            this.autoplay = autoplay;
            addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            loader = new Loader;
            loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
            loader.load(new URLRequest('http://www.youtube.com/apiplayer?version=3'));
        }

        private function onLoaderInit(e:Event):void 
        {
            addChild(loader);
            loader.content.addEventListener('onReady', onPlayerReady);
            loader.content.addEventListener('onError', onPlayerError);
        }

        private function onPlayerError(e:Event):void 
        {
            trace('player error : ', Object(e).data);
        }

        private function onPlayerReady(e:Event):void 
        {
            video = loader.content;
            if (autoplay == 1) { 
              video.loadVideoById(videoID, 0, 'default');   
            } else { 
              video.cueVideoById(videoID, 0, 'default');
            }
            dispatchEvent( new Event('loadedVideo'));
            video.addEventListener('onStateChange', onPlayerStateChange);

            // Timer
            t = new Timer(100);
            t.addEventListener(TimerEvent.TIMER, onTimer);
            t.start();      
        }

        private function onTimer(e:Event):void 
        {
            duration = video.getDuration();
            bytesTotal = video.getVideoBytesTotal();
            current = video.getCurrentTime();
            bytesLoaded = video.getVideoBytesLoaded();
            bytesStart = video.getVideoStartBytes();
            dispatchEvent(new Event(Event.CHANGE));
        }

        private function onPlayerStateChange(e:Event):void 
        {
            state = Object(e).data;
            dispatchEvent(new Event('changeVideo'));
        }
        // Controles de la video

        public function redim(l, h):void {
            video.setSize(l, h);
            video.y = -h;
        }

        public function pauseVideo(e:MouseEvent):void {
            video.pauseVideo();
        }

        public function playVideo(e:MouseEvent):void {
            video.playVideo();
        }

        public function setVolume(value:Number):void {
            video.setVolume(value * 100);
        }

        public function seek(ratio:Number):void {
            video.seekTo(ratio * duration, false);
        }
    }
}

Hello, je ne pourrais pas te dire ça comme çà mais de vu et de loin, ça à l'air correct ^^
Revisionne/retélécharge le tuto, tu auras plus d'informations sur les éléments que tu as oublié de mettre.