سؤال

أواجه مشكلة عند دفق الفيديو. بشكل عشوائي ، لا يتم عرض الفيديو ، يتم تشغيل الفيديو مع تحرك Playhead وأصوات الصوت.

إنه أمر غريب على الرغم من أنني إذا ضغطت على وقفة ثم قم بتشغيل الفيديو يظهر وأيضًا إذا جعلته ملء الشاشة.

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
}

حسنًا ، اكتشف السبب في عدم إظهاره هو أن الفيديو يحتوي في بعض الأحيان على عرض وارتفاع 0 بكسل. أي شخص يعرف لماذا ستعيد هذه القيم؟ هل هو شيء مع طبيعة مقاطع الفيديو التي تدفق RTMP؟

هل كانت مفيدة؟

المحلول

اضطررت إلى الاستماع إلى العرض والارتفاع ليكون أكبر من الصفر قبل المتابعة. أنا لم أجدها لماذا ولكن هذه هي كيفية إصلاحه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top