1

所以我在加载 netstream 视频时遇到了 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");

我实际上可以听背景中的音频,但由于某种原因,我看不到任何图片。我尝试只使用没有电影剪辑的视频,反之亦然,只听音频。

我肯定做错了什么,但是什么?

4

1 回答 1

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),然后按 OK。
  6. 从舞台上删除符号,将其保存在库中。

现在您的库中有一个项目,您可以使用代码附加该项目,该项目已经包含一个可以工作的视频对象。假设您使用与我上面相同的名称,您的代码应按如下方式修改。

//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");
于 2011-11-15T10:17:12.310 回答