Problema de exibir vídeo ao transmitir
-
05-07-2019 - |
Pergunta
Estou tendo um problema ao transmitir vídeo. O vídeo não é exibido aleatoriamente, o vídeo está sendo reproduzido enquanto o Playhead se move e os sons de áudio.
É estranho, porém, porque se eu pressionar a pausa, reproduz o vídeo e também se eu o fizer em tela cheia, ele aparecerá.
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
}
Ok, descobri que o motivo pelo qual não mostra é porque o vídeo às vezes tem uma largura e altura de 0 pixels. Alguém sabe por que isso retornaria esses valores? É algo com a natureza dos vídeos de streaming rtmp?
Solução
Eu tive que ouvir a largura e a altura serem maiores que zero antes de prosseguir. Eu nunca descobri Por quê Mas é assim que consertar isso.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow