Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    AS2 FLVPlayback metadata

    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":


    import 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";
    }
    Ho provato anche con

    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

  2. #2
    non sono sicuro ma credo di aver risolto così

    import mx.video.*;
    _root.cont.player.visible = false;
    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.metadata.width/2*-1;
    _root.cont.player.y = _root.cont.player.metadata.height/2*-1;
    _root.cont.player.visible = true;
    };
    _root.cont.player.addEventListener("metadataReceiv ed", listenerObject);
    _root.cont.player.contentPath = "video/ambarabaccicicocco1.flv";
    }
    Comunque se qualcuno ha qualche dritta è sempre ben accetta.
    Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.