Problema con la visualizzazione di video durante lo streaming
-
05-07-2019 - |
Domanda
Sto riscontrando un problema durante lo streaming video. Casualmente il video non viene mostrato, ma il video viene riprodotto mentre la testina si muove e l'audio viene riprodotto.
È strano però perché se premo pausa, appare il video e anche se lo faccio a schermo intero appare.
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 Ho scoperto che il motivo per cui non viene visualizzato è perché il video a volte ha una larghezza e un'altezza di 0 pixel. Qualcuno sa perché dovrebbe restituire questi valori? È qualcosa da fare con la natura dei video in streaming rtmp?
Soluzione
Ho dovuto ascoltare la larghezza e l'altezza maggiori di zero prima di procedere. Non ho mai scoperto perché ma questo è come risolverlo.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow