【问题标题】:Actionscript - Video Player Help! - FlashActionscript - 视频播放器帮助! - 闪光
【发布时间】:2011-05-02 22:52:56
【问题描述】:

几天来,我一直在尝试弄清楚如何让视频在 Flash 中播放,但我几乎一无所获。我有下面的代码,但不知道还有什么可以让它工作的。有人可以帮忙吗?

var conn:NetConnection = new NetConnection();
conn.connect(null);

var nstream:NetStream = new NetStream(conn);
nstream.setBufferTime(10);

trailer.attach(nstream);
nstream.play("arthur.flv");

【问题讨论】:

  • 已经设法让它工作。我不知道我做了什么,但它正在工作,所以我很高兴:)

标签: flash actionscript video-streaming netstream


【解决方案1】:

您好像忘记了一个关键部分,您需要在 NetConnection 连接成功后将 NetStream 添加到视频对象中。


var connection = new NetConnection();
connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

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

function connectStream():void {
    stream = new NetStream(connection);
    stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    stream.client = new CustomClient();
    var video:Video = new Video();
    video.attachNetStream(stream);
    stream.play(videoURL);
    addChild(video);
}

查看 AS3 NetStream 文档here。那里有很多信息和示例可以帮助您上路。

【讨论】:

    【解决方案2】:

    预告片添加到舞台了吗?像这样:

    var trailer = new Video(); 
    trailer.attachNetStream(nstream); 
    addChild(trailer); 
    

    您还检查过 NetStream 没有产生错误吗?像这样:

    nstream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
    nstream.play("video.flv"); 
    function asyncErrorHandler(event:AsyncErrorEvent):void{ 
        trace(event);
    } 
    

    编辑:你也检查过网络状态和安全错误吗?像这样:

    nstream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    conn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
    conn.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
    
    function netStatusHandler(event:NetStatusEvent):void {
         switch (event.info.code) {
             case "NetConnection.Connect.Success":
                 connectStream();
                 break;
             case "NetStream.Play.StreamNotFound":
                 trace("Unable to locate video: " + videoURL);
                 break;
         }
    } 
    
    function securityErrorHandler(event:SecurityErrorEvent):void {
        trace("securityErrorHandler: " + event);
    }
    

    【讨论】:

    • 究竟是什么问题?您的视频对象是否可见但只是黑色并且没有任何反应?
    猜你喜欢
    • 2020-08-18
    • 1970-01-01
    • 2011-05-31
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    相关资源
    最近更新 更多