AS2: netstream没有视频,只有音频



所以我在加载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");

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

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

你的问题是你从来没有把视频对象附加到舞台上。my_vid.attachVideo(video);这一行什么也不做,因为MovieClip没有一个叫做attachVideo的方法。

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

  1. 点击库面板右上角的箭头,从下拉菜单中选择New Video...
  2. 在对话框中,选中"Video (ActionScript-controlled)"单选按钮,单击"OK"。
  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");

相关内容

  • 没有找到相关文章

最新更新