2010-11-18 9 views
0

Je souhaite ajouter le script suivant dans mon script d'action pour rediriger vers la première image après la fin de la vidéo externe, mais je ne suis pas sûr de savoir comment personnaliser le code adapté à mon script sction.Action Script requis!

C'est le code que je veux ajouter mon AS:

ns.onStatus = function(info:Object) 
{ 
if(info.code == 'NetStream.Play.Stop') 
{ 
gotoAndPlay(2); 
} 
} 

Celui qui suit est le code d'origine maintenant j'utilise pour lire des fichiers vidéo externes. J'ai besoin de personnaliser le code ci-dessus qui devrait être utilisable pour le code ci-dessous.

function checkTime(flv) 
{ 
    var _loc2 = flv.playheadTime; 
    var _loc3 = Math.floor(_loc2/60); 
    var _loc1 = Math.floor(_loc2 % 60); 
    if (_loc1 < 10) 
    { 

     _loc1 = "0" + _loc1; 
    } // end if 

    current_time.text = _loc3 + ":" + _loc1; 
} // End of the function 
flv.pauseButton = pause_btn; 
flv.playButton = play_btn; 
flv.FLVPlayback.align = center; 
var time_interval = setInterval(checkTime, 500, flv); 

ffwd_btn.onRelease = function() 
{ 
    flv.seek(flv.playheadTime + 2); 
}; 
rewind_btn.onRelease = function() 
{ 
    flv.seek(flv.playheadTime - 5); 
}; 
mute_btn.onRelease = function() 
{ 
    if (videoSound.getVolume() == 0) 
    { 
     videoSound.start(); 
     videoSound.setVolume(volLevel); 
    } 
    else 
    { 
     volLevel = _root.videoSound.getVolume(); 
     videoSound.setVolume(0); 
     videoSound.stop(); 
    } // end else if 
}; 
var videoSound = new Sound(this); 
videoSound.setVolume(100); 
flv.contentPath = flvurl; 
fl.video.FLVPlayback.align = center; 

Quelqu'un peut-il m'aider?

Répondre

1

depuis que vous utilisez AS2, et la mise à feu des événements complete est incompatible avec le composant FLVPlayback dans AS2 et vous êtes déjà sondages avec setInterval, il suffit de comparer la vidéo duration au playheadTime en vous checkTime() fonction comme ceci:

function checkTime() 
{ 
    // you other stuff here.... 

    if(flv.metadata && flv.metadata.duration > 0) 
    { 
     var prog:Number = Math.round((flv.playheadTime/flv.metadata.duration)*100); 

     if(prog == 100) 
     { 
      //clean up your interval 
      clearInterval(time_interval); 

      // do 'end of video' stuff 
      gotoAndPlay(2); 
     } 
    } 
} 

notez que le duration est imbriqué dans la propriété metadata de l'instance FLVPlayback. Il n'est pas disponible tant que le fichier flv n'a pas été chargé, mais puisque vous interrogez votre intervalle, il sera là quand vous en aurez besoin.

devrait obtenir ya ce que tu veux ...

+0

Merci « GTHMB » pour votre réponse rapide, de toute façon je vais l'essayer bientôt et vous laisser savoir comment cela fonctionne !!! Merci encore. – Paul

+0

Il ne jouera pas la vidéo après avoir placé le code ci-dessus que vous avez mentionné. malchance :( – Paul

+0

vous augmentez simplement votre fonction 'checkTime()' avec la logique dans mon exemple, n'est-ce pas? en ajoutant le contrôle de progression ne doit pas interrompre la lecture ... – gthmb

Questions connexes