2009-01-27 8 views
0

J'essaye de dépanner le scrubber pour un lecteur vidéo personnalisé et je rencontre un problème avec le scrubber qui est traîné après le remplissage de la barre de progression si le flv n'a pas complètement chargé.Scrubber de lecteur vidéo Flash en faisant glisser la barre de progression

Le joueur est ici: http://mindfilemultimedia.com/stage/portfolio.html

Si vous jouez la vidéo, vous verrez que si le flv est encore en cours de téléchargement, lorsque vous déplacez le curseur devant la barre de progression jaune dans la partie blanche de la ligne, la lecteur vidéo va geler. C'est ce qu'il fait parce que l'utilisateur lui dit de chercher une partie de la vidéo qui n'a pas encore été entièrement téléchargée. Ce que je veux faire est de déterminer si le flv est encore en train de télécharger et de restreindre l'utilisateur à ne pouvoir que faire glisser le scrubber jusqu'à la largeur de la barre de progression jaune. En ce moment j'ai mis le code pour récupérer le bytesLoaded et bytesTotal et ce que je veux faire est de dire quelque chose comme (en actionscript 3):

if (videoPlayer.bytesLoaded < videoPlayer.bytesTotal) { 
    var newBounds:Rectangle = new Rectangle(0, 0, (videoPlayer.bytesLoaded/videoPlayer.bytesTotal) * MovieClip(root).SeekBar.SeekProgressBar.width, 0); 
    MovieClip(root).SeekBar.SeekBarHandle.startDrag(false, newBounds); 
} 

Je suis pas une personne actionscript, ce qui était mon tenter de faire ce dont j'avais besoin. J'ai l'impression que cela ne fonctionne pas parce que j'accède incorrectement aux classes pour la barre de progression et la poignée de scrubber, mais je prends juste les classes par défaut car la barre de recherche était un composant flash. Eh bien, je peux juste me tromper complètement. Toute aide ici serait appréciée.

Répondre

0

Où mettez-vous ce code? Il doit être mis quelque part, où il est mis à jour régulièrement. Selon le type de lecteur vidéo que vous utilisiez, vous pouviez voir les événements qu'il distribuait et utiliser un écouteur d'événements pour vérifier régulièrement la quantité de messages tamponnés. Vous pouvez également utiliser l'événement enter frame, bien que vous ayez besoin de vous assurer que vous avez arrêté d'écouter une fois la mémoire tampon terminée, car cela ajouterait des frais supplémentaires à chaque image. En guise de remarque, SeekBar et SeekBarHandle devraient probablement être respectivement seekBar et seekBarHandle, car il est de pratique courante de lancer les noms d'instance avec une lettre minuscule dans actionscript.

Questions connexes