您的问题是您从未将视频对象附加到舞台上。这一行my_vid.attachVideo(video);
什么都不做,因为 MovieClip 没有一个名为 的方法attachVideo
。
您需要在库中创建一个视频对象并将其添加到舞台。为此,请在 IDE 中执行以下步骤:
- 单击库面板右上角的箭头,然后
New Video...
从下拉列表中进行选择。
- 在对话框中,选择
Video (ActionScript-controlled)
单选按钮并单击确定。
- 将新创建的视频对象拖到舞台上并给它一个实例名称(例如
myVideo
)。
- 在舞台上选择您的视频对象,然后按 F8 以从中创建一个新元件。
- 将符号设置为类型 MovieClip,勾选 Export for ActionScript 复选框并提供标识符(例如
videoContainer
),然后按 OK。
- 从舞台上删除符号,将其保存在库中。
现在您的库中有一个项目,您可以使用代码附加该项目,该项目已经包含一个可以工作的视频对象。假设您使用与我上面相同的名称,您的代码应按如下方式修改。
//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");