Flash AS2:没有netstream的视频,只有音频
所以我在加载netstream视频时遇到了AS2问题Flash AS2:没有netstream的视频,只有音频,flash,actionscript-2,movieclip,netstream,flashlite,Flash,Actionscript 2,Movieclip,Netstream,Flashlite,所以我在加载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.attachVide
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(视频)代码>不执行任何操作,因为MovieClip没有名为attachVideo
的方法
您需要在库中创建视频对象并将其添加到舞台。要执行此操作,请在IDE中执行以下步骤:
单击Library面板右上角的箭头,从下拉列表中选择newvideo…
在对话框中,选择视频(ActionScript控制)
单选按钮,然后单击确定
将新创建的视频对象拖到舞台上,并为其指定实例名称(例如,myVideo
)
在舞台上选择视频对象,然后按F8键从中创建新符号
将符号设置为键入MovieClip,勾选导出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");
您的问题是,您从未将视频对象附加到舞台上。此行my_vid.attachVideo(视频)代码>不执行任何操作,因为MovieClip没有名为attachVideo
的方法
您需要在库中创建视频对象并将其添加到舞台。要执行此操作,请在IDE中执行以下步骤:
单击Library面板右上角的箭头,从下拉列表中选择newvideo…
在对话框中,选择视频(ActionScript控制)
单选按钮,然后单击确定
将新创建的视频对象拖到舞台上,并为其指定实例名称(例如,myVideo
)
在舞台上选择视频对象,然后按F8键从中创建新符号
将符号设置为键入MovieClip,勾选导出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");
我保留了我的代码,它最终成功了。我目前正在移动设备上运行该程序,运行良好。我猜可能是编解码器。谢谢你的帮助。不管怎样,我仍然有很多东西需要理解如何处理阶段问题。我保留了我的代码,它最终成功了。我目前正在移动设备上运行该程序,运行良好。我猜可能是编解码器。谢谢你的帮助。无论如何,我仍然有很多东西需要理解如何处理舞台问题。