2010-06-05 4 views
1

Est-il possible de synchroniser des vidéos flv? Je joue quelques vidéos simultanément, et elles ne sont pas synchronisées. Si j'ajoute un bouton qui recherche toutes les vidéos à 0, elles peuvent être synchronisées ou non. Quand ils ne sont pas synchronisés, ce n'est qu'une fraction de seconde, mais pour cette application, une fraction de seconde est très perceptible. Pouvons-nous obtenir des synchronisations précises?Synchronisation de problèmes avec plusieurs flvs

Pour référence, voici le code allégé pour lire les vidéos. (Il est juste un appel standard netstream)

var nc:NetConnection = new NetConnection(); 
nc.connect(null); 

var ns1:NetStream = new NetStream(nc); 
vid_1.attachNetStream(ns1); 
ns1.play("vid1.flv"); 
ns1.pause(); 
ns1.seek(0); 
ns1.addEventListener(NetStatusEvent.NET_STATUS, netstat); 

var ns2:NetStream = new NetStream(nc); 
vid_2.attachNetStream(ns2); 
ns2.play("vid2.flv"); 
ns2.pause(); 
ns2.seek(0); 
ns2.addEventListener(NetStatusEvent.NET_STATUS, netstat); 

function netstat(stats:NetStatusEvent) { 
//trace(stats.info.code); 
} 
var netClient:Object = new Object(); 
netClient.onMetaData = function(meta:Object){ 
       //trace(meta.duration); 
     }; 

ns1.client = netClient; 
ns2.client = netClient; 

ns1.resume(); 
ns2.resume(); 

Et j'ai un bouton:

btn_play.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); 
function mouseDownHandler(event:MouseEvent):void { 
ns1.seek(0.0); 
ns2.seek(0.0); 
}; 

En cliquant sur le bouton redémarre les vidéos, parfois en phase, parfois pas.

Un moyen de toujours les synchroniser?

Merci

Répondre

0

Vous pourriez envisager une pause jusqu'à ce que les deux vidéos de l'événement d'état « NetStream.Seek.Notify » a tiré au large pour les deux vidéos. Il se déclenche quand la vidéo a fini de chercher son timecode.

Questions connexes