Salve a tutti. Ho un problemino con un FLVPlayback.
Carico dei video esterni tramite la pressione del mouse su dei movieclip. Il problema è che devo centrare ogni volta il componente all'interno dei un movieclip, quindi devo aspettare di avere i metadati per evitare errori. Ho provato con diversi metodi:
metadataReceived - alcune volte funziona e altre no (fa un po' come gli pare).
metadataLoaded - non funziona
ready - funziona, ma non fa al caso mio, perchè aspetta il tempo di buffering del filmato prima di far comparire lettore, video ecc...
Questa è la parte di codice interessata, dove "cont" è un movieclip al cui interno è posizionato l' FLVPlayback con nome istanza "player":
Ho provato anche conimport mx.video.*;
// rendo invisibile il componente che è gia posizionato sullo stage
_root.cont.player.visible = false;
// alla pressione di leaf1 (leaf2, leaf3 ecc...), all'interno del movieclip menu
// mi assicuro che il player sia invisibile
// carico un filmato inesistente (non vuoto, ma proprio inesistente)
// aspetto che i metadati del video ambarabacciccicocco1.flv siano caricati
// posiziono la x al centro del player
// posiziono la y al centro del player
// rendo visibile il player
menu.leaf1.onPress = function() {
_root.cont.player.visible = false;
_root.cont.player.contentPath = "empty.flv";
var listenerObject:Object = new Object();
listenerObject.metadataReceived = function(eventObject:Object):Void {
_root.cont.player.x = _root.cont.player.width/2*-1;
_root.cont.player.y = _root.cont.player.height/2*-1;
_root.cont.player.visible = true;
};
_root.cont.player.addEventListener("metadataReceiv ed", listenerObject);
_root.cont.player.contentPath = "video/ambarabaccicicocco1.flv";
}
menu.leef1.onPress = function() {
_root.cont.player.visible = false;
_root.cont.player.contentPath = "empty.flv";
var listenerObject:Object = new Object();
listenerObject.progress = function(eventObject:Object):Void {
if(_root.cont.player.metadataReceived){
_root.cont.player.x = _root.cont.player.width/2*-1;
_root.cont.player.y = _root.cont.player.height/2*-1;
_root.cont.player.visible = true;
}
_root.cont.player.addEventListener("metadataReceiv ed", listenerObject);
_root.cont.player.contentPath = "video/ambarabaccicicocco1.flv";
}
Dove sbaglio??
buon appetito

Rispondi quotando