2010-02-23 5 views
0

J'ai deux lecteurs vidéo FLV sur une scène en utilisant deux objets AS3 NetStream pour la lecture. J'ai besoin que les deux joueurs soient synchronisés, ce qui signifie que la lecture devrait commencer quand le tampon est plein pour les deux flux, et les deux devraient être mis en pause quand l'un des tampons se vide, attendant de nouveau les recharges. Mon problème est, que le processus de mise en mémoire tampon de la deuxième vidéo commence seulement après que le premier flux est entièrement chargé (pas seulement le bufferTime = 5 sec, mais l'ensemble 10min). Existe-t-il une méthode pour obtenir ce résultat, mettre en mémoire tampon 5 secondes à partir du premier flux, puis 5 secondes à partir du second, et ainsi de suite?Flash AS3: contrôle de tampon NetStream

Merci

Répondre

1

Supposant que vous parlez de flux progressifs ... Vous pouvez réellement les pré-charger complètement si nécessaire et de les garder en mémoire jusqu'à ce que nécessaire.

Pour ce faire:

  • netStream.play() pour commencer le chargement
  • Catch l'événement d'état "NetStream.Play.Start" et pause() le flux directement (le chargement continue).
  • Ensuite, il vous suffit de vérifier les bytesLoaded des deux flux jusqu'à ce que vous soyez satisfait de la quantité de données à lire.
+0

Merci pour la réponse; oui, j'ai déjà eu ceci, mon problème était que le second a commencé la mise en mémoire tampon après que le premier ait fini de mettre en mémoire tampon (les deux sont mis en pause au début). Il ya quelques minutes, j'ai remarqué que le problème se produit uniquement dans Firefox/Chrome mais dans IE/Safari fonctionne très bien .. donc je cherche la solution en sachant cela. Quoi qu'il en soit, merci encore pour votre réponse. – egyedg

+0

Aw ok gottcha. Malheureusement, je doute que vous vous battez le comportement de chargement interale des navigateurs. C'est très intéressant, merci de l'avoir remarqué! –