AS2:没有带网络流的视频,只有音频

时间:2011-11-14 12:04:28

标签: flash actionscript-2 movieclip netstream flashlite

所以我在加载网络视频时遇到AS2问题。

my_vid = _root.createEmptyMovieClip("my_vid", _root.getNextHighestDepth());
var video:Video = new Video();
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
video.attachVideo(ns);
my_vid.attachVideo(video);

and later 
ns.play("http://localhost/video.mp4");

我实际上可以在后台听音频,但由于某些原因我无法看到任何图片。我尝试了没有动画片段的视频,反之亦然,只能听音频。

我确实做错了但是什么?

1 个答案:

答案 0 :(得分:1)

您的问题是您没有将视频对象附加到舞台上。此行my_vid.attachVideo(video);不执行任何操作,因为MovieClip没有名为attachVideo的方法。

您需要在库中创建视频对象并将其添加到舞台中。为此,请在IDE中执行以下步骤:

  1. 点击图片面板右上角的箭头,然后从下拉列表中选择New Video...
  2. 在对话框中,选择Video (ActionScript-controlled)单选按钮,然后单击“确定”。
  3. 将新创建的视频对象拖到舞台上,并为其指定实例名称(例如myVideo)。
  4. 在舞台上选择您的视频对象,然后按F8键从中创建一个新符号。
  5. 设置符号以键入MovieClip,勾选Export for ActionScript复选框并提供标识符(例如videoContainer),然后按确定。
  6. 从舞台中删除符号,将其保留在库中。
  7. 现在,您的库中有一个项目可以附加代码,该代码已经包含一个可以使用的视频对象。假设您使用与我上面相同的名称,您的代码应按如下方式进行修改。

    //attach the container from the library
    my_vid = _root.attachMovie("videoContainer", "my_vid" _root.getNextHighestDepth());
    //create a reference to the video object inside the container
    var video:Video = my_vid.myVideo;
    var nc:NetConnection = new NetConnection();
    nc.connect(null);
    var ns:NetStream = new NetStream(nc);
    video.attachVideo(ns);
    //
    // ...
    //
    ns.play("http://localhost/video.mp4");