【问题标题】:streaming video player / attaching video(not camera) to NetStream in actionscript 3流式视频播放器/将视频(不是相机)附加到动作脚本 3 中的 NetStream
【发布时间】:2013-09-25 13:49:04
【问题描述】:

我是 actionscript 的新手,基本上我正在尝试流式传输视频播放器,但我们不能在 as3 中使用 attachVideo,那么我可以在以下代码中使用什么来代替 attachVideo?我正在使用 flash builder/flex 4.6 。如果您可以建议流式视频播放器的链接/教程,那将是很大的帮助。谢谢!

   private function initOutStream():void
            {     /* streamOut is NetStream to adobe cirrus , 
                    conn is making connection to adobe cirrus */    
          trace("initOutStream");
          streamOut = new NetStream(conn,NetStream.DIRECT_CONNECTIONS);
          streamOut.addEventListener(NetStatusEvent.NET_STATUS,streamStatus);
          streamOut.publish("media");

                  // mp4 file from local machine

                  nc = new NetConnection();                           
                  nc.connect(null); 
                  ns = new NetStream(nc);
                  ns.play("t.mp4");
                  ns.client = this;

                  var vid:Video = new Video;
                  vid.attachNetStream(ns);

          // streaming vid to media server

                  streamOut.attachVideo(vid);

         var streamOutClient:Object = new Object(); 
         streamOutClient.onPeerConnect = function(farStream:NetStream):Boolean
                   {   
                     return true;         
                   }       
              }

错误: 1061:通过静态类型的引用调用可能未定义的方法 attachVideo

【问题讨论】:

  • 以前从未见过“attachVideo”方法。您是否正在尝试创建某种实时网络摄像头共享应用程序?如果您只是想流式传输视频,则无需 attachVideo 即可完成此操作。
  • 不,我不是要连接 cam,我想从本地机器播放 .mp4 视频并将其 p2p 流式传输给其他人。
  • attachVideo 方法help.adobe.com/en_US/AS2LCR/Flash_10.0/… 但不能在actionscript 3中使用
  • 这就是你的答案,鱼鳞。
  • 我可以播放视频,但我想使用 adobe cirrus 将其流式传输给其他人。我们不能在 actionscript 3.0 中使用 attachVideo

标签: actionscript-3 apache-flex flex4.6 netstream flash-media-server


【解决方案1】:

这是我最近为商业工作编写的代码。希望对你有帮助...

var vid:Video = new Video();
vid.width = 640; vid.height = 480;
addChild(vid);

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

var ns:NetStream = new NetStream(cnn);

ns.play("t.mp4");

vid.attachNetStream(ns);

ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, error);
ns.addEventListener(NetStatusEvent.NET_STATUS, streamStatus);

function streamStatus(e:NetStatusEvent){
    //trace(e.info.code);
    if(e.info.code == "NetStream.Play.Stop"){

    }
}

function error(e){

}

【讨论】:

  • 这段代码将在 swf/browser 中播放 t.mp4,我可以这样做,但我要问的是我想使用 cirrus 将此视频流式传输到其他对等方,所以我想附上这个在 actionScript 3 中将视频流到 streamOut(NetStream 到 cirrus),所以我必须像 streamOut.attachNetStream(ns) 一样使用;但是我猜你不能附加两个 netStreams ......那么还有其他方法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-07-11
  • 1970-01-01
  • 2017-06-29
  • 2011-04-05
  • 1970-01-01
  • 2012-08-13
  • 1970-01-01
相关资源
最近更新 更多