Pregunta

Estoy teniendo un problema al transmitir video. Al azar, el video no se muestra, el video se está reproduciendo a medida que la cabeza de reproducción se mueve y el audio suena.

Es extraño, sin embargo, porque si presiono pausar, luego reproduzco el video aparece y también si lo hago en pantalla completa, aparece.

private var videoURL:String = "filename.f4v";
private function setupConnection():void
{
    connection = new NetConnection();
    connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    connection.addEventListener(AsyncErrorEvent.ASYNC_ERROR, onErrorConnect);
    connection.connect("rtmp://url to my streaming server");       
}

private function netStatusHandler(event:NetStatusEvent):void
{
    trace("event.info.code "+event.info.code);
    switch (event.info.code) {
        case "NetConnection.Connect.Success":
            connectStream();
            break;
         case "NetStream.Play.Start":
            onPlayVideoHandler();
            break;
        case "NetStream.Play.StreamNotFound":
            trace("Stream not found: " + videoURL);
            break;
        default :
    }         
}      

private function onErrorConnect(event:AsyncErrorEvent):void
{
    trace("onErrorConnect: " + event);
}         

private function securityErrorHandler(event:SecurityErrorEvent):void
{
    trace("securityErrorHandler: " + event);
}

private function connectStream():void
{
    stream = new NetStream(connection);
    stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    stream.bufferTime   = 10;           

    var client:Object   = new Object();
    client.onMetaData   = onMetaData;
    stream.client       = client;           

    video           = new Video(200, 200);
    video.name      = "video";
    video.addEventListener(Event.ADDED_TO_STAGE, videoAddedToStage)
    video.attachNetStream(stream);
    video.smoothing     = true;
    video.x         = 0;
    video.y         = 0;
    mainHolder.addChild(video); 

    stream.play(videoURL, 0, 100, true);        
    stream.seek(0);
}

private function onPlayVideoHandler():void
{
        // add Controls
}

Bien, he descubierto que la razón por la que no se muestra es porque el video a veces tiene un ancho y alto de 0 píxeles. ¿Alguien sabe por qué devolvería estos valores? ¿Es algo relacionado con la naturaleza de los videos rtmp?

¿Fue útil?

Solución

Tuve que escuchar si el ancho y la altura eran mayores que cero antes de continuar. Nunca supe por qué pero esta es la forma de solucionarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top