스트리밍시 비디오 표시에 문제가 있습니다
-
05-07-2019 - |
문제
비디오를 스트리밍 할 때 문제가 있습니다. 무작위로 비디오가 표시되지 않으며, 플레이 헤드가 움직이고 오디오 소리가 들리면서 비디오가 재생되고 있습니다.
일시 정지를 누르면 비디오가 나타나고 전체 화면으로 표시되면 표시되기 때문에 이상합니다.
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 Ive는 표시되지 않는 이유는 비디오의 너비와 높이가 0 픽셀이기 때문입니다. 왜이 값을 반환 할 것인지 아는 사람이 있습니까? RTMP 스트리밍 비디오의 특성과 관련이 있습니까?
해결책
나는 진행하기 전에 너비와 높이가 0보다 큰 것을 들어야했다. 나는 결코 알지 못했다 왜 그러나 이것이 고치는 방법입니다.
제휴하지 않습니다 StackOverflow