Comunidad de diseño web y desarrollo en internet online

Extraer solamente funciones Metadata de Flash Player

Citar            
MensajeEscrito el 07 Jun 2011 04:31 pm
Hola tengo un script de flash player que reproduce un stream de wowza y extrae los metadata de shoutcast.

Con el script reproduce y muestra Artista, Tema, Radio Station y demas metadatas

Lo que necesito es sacar solamente la funcion de metadata del codigo, sin el player ni nada, pero cuando separo el campo de texto dynamico de los botones de play no carga los metadata en el campo de texto, supongo que tiene una funcion de escribir cuando el boton esta en "play".

Les dejo el codigo a ver si alguien lo interpreta y me puede decir cual es la parte q muestra metadata en el campo de texto o anular las funciones del player.


Código ActionScript :

function initialize()
{
    _root.connect.streamStr.text = "http://midominio.com:8005/";
    _root.connect.connectStr.text = "rtmp://midominio.com:1935/shoutcast";
    _root.connect.connectButton.onPress = _root.doConnect;
    _root.connect.connectButton2.onPress = _root.doConnect;
    metaDataValues.title = "";
    metaDataValues.genre = "";
    metaDataValues.name = "";
    metaDataValues.url = "";
    doConnect();
    trace(System.capabilities.version);
}

function updateMetaData()
{
    var __reg1 = "";
    if (metaDataValues.title != "") 
    {
        __reg1 = __reg1 + ("<b><font size=\'8\' color=\'#000000\'>Sonando: </font></b>" + metaDataValues.title + "\n");
    }

    var __reg2 = "";
    __reg2 = __reg2 + metaDataValues.title;
    texto1.text = __reg2;
    if (metaDataValues.genre != "") 
    {
        __reg1 = __reg1 + ("<b><font size=\'8\' color=\'#000000\'>Genero: </font></b>" + metaDataValues.genre + "\n");
    }

    if (metaDataValues.name != "") 
    {
        __reg1 = __reg1 + ("<b><font size=\'8\' color=\'#000000\'>Radio: </font></b>" + metaDataValues.name + "\n");
    }

    if (metaDataValues.url != "") 
    {
        __reg1 = __reg1 + ("<b><font size=\'8\' color=\'#000000\'>URL: </font></b>" + metaDataValues.url + "\n");
    }

    metaDataText.text = __reg1;
    texto1.html = true;
    texto1.htmlText = __reg1;
}

function doConnect()
{
    if (nc == null) 
    {
        nc = new NetConnection();
        nc.onStatus = function (infoObject)
        {
            trace("nc: " + infoObject.code + " (" + infoObject.description + ")");
            if (infoObject.code == "NetConnection.Connect.Success") 
            {
                playShoutcast();
            }

        }
        ;
        nc.connect(_root.connect.connectStr.text);
        enablePlayControls(true);
        return;
    }

    if (nsPlay != null) 
    {
        nsPlay.attachVideo(null);
        nsPlay.attachAudio(null);
    }

    nsPlay = null;
    nc.close();
    nc = null;
    metaDataValues.title = "";
    metaDataValues.genre = "";
    metaDataValues.name = "";
    metaDataValues.url = "";
    updateMetaData();
    enablePlayControls(false);
}

function enablePlayControls(isEnable)
{
}
;
function playShoutcast()
{
    nsPlay = new NetStream(nc);
    nsPlay.onStatus = function (infoObject)
    {
        trace("nsPlay: " + infoObject.code + " (" + infoObject.description + ")");
    }
    ;
    nsPlay.onHeaderData = function (infoObject)
    {
        trace("onHeaderData");
        for (var __reg2 in infoObject) 
        {
            trace("  " + __reg2 + " = " + infoObject[__reg2]);
        }

        if (infoObject["icy-genre"] != undefined) 
        {
            metaDataValues.genre = infoObject["icy-genre"];
        }

        if (infoObject["icy-name"] != undefined) 
        {
            metaDataValues.name = infoObject["icy-name"];
        }

        updateMetaData();
    }
    ;
    nsPlay.onMetaData = function (infoObject)
    {
        trace("onMetaData");
        for (var __reg2 in infoObject) 
        {
            trace("  " + __reg2 + " = " + infoObject[__reg2]);
        }

        if (infoObject.StreamTitle != undefined) 
        {
            metaDataValues.title = infoObject.StreamTitle;
        }

        if (infoObject.StreamUrl != undefined) 
        {
            metaDataValues.url = infoObject.StreamUrl;
        }

        updateMetaData();
    }
    ;
    nsPlay.setBufferTime(10);
    nsPlay.play(_root.connect.streamStr.text);
    soundRemote.attachAudio(nsPlay);
}

var nc = null;
var nsPlay = null;
var metaDataValues = new Array();
Stage.align = "TL";
Stage.scaleMode = "noScale";
_global.style.setStyle("backgroundColor", "0xFFCC00 ");
initialize();



Gracias!

Por oscargim

10 de clabLevel



Genero:Masculino  

Argentina

chrome
Citar            
MensajeEscrito el 07 Jun 2011 05:38 pm
El metadata viene cuando le das play al NetStream, entonces puedes quedarte con el NetConnection y el NetStream pero no lo attaches a nada, simplemente usa el listener y muestra lo que te viene en el callback onMetaData

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 Jun 2011 03:12 pm

solisarg escribió:

El metadata viene cuando le das play al NetStream, entonces puedes quedarte con el NetConnection y el NetStream pero no lo attaches a nada, simplemente usa el listener y muestra lo que te viene en el callback onMetaData

Jorge



Gracias por la respuesta Jorge, pero no puedo ubicar bien a lo q haces referencia, intente borrando algo de codigo pero no funciona el script cuando lo modifico.

Si podes dejarme un ejemplo de codigo de lo que me decis seria bueno.

Gracias de nuevo!

Por oscargim

10 de clabLevel



Genero:Masculino  

Argentina

chrome
Citar            
MensajeEscrito el 08 Jun 2011 03:40 pm
En realidad cuaando se ejecuta el initialize, llama al doConect que llama al playShoutcast que hace un play de lo que est{e en el campo de texto aqui:

nsPlay.play(_root.connect.streamStr.text);

Si quitas el campo de texto, hardcodea allí el nombre del stream, y no borres el campo de texto metaDataText que es donde se muestra la info

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 19 Jun 2011 03:56 pm
Estuve intentando sacar del script solamente la funcion de la informacion de metadata pero no puedo :/

Si alguien puede sacarlo y dejarmelo se los voy a agradecer!

Saludos

Por oscargim

10 de clabLevel



Genero:Masculino  

Argentina

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.