如何在舞台上静态创建 Video 对象?
Posted
技术标签:
【中文标题】如何在舞台上静态创建 Video 对象?【英文标题】:How do I create Video object statically on stage? 【发布时间】:2012-05-13 06:22:50 【问题描述】:不用说我是 Flash 的初学者。我想将视频对象添加到我的舞台。我怎么做?在我的组件窗口中,我看到的关闭组件是 FLVPlayback。我想展示我的网络摄像头。好吧,我的舞台有一个 FLVPlayback 实例,我将其命名为 video。
然后我尝试使用以下方式显示网络摄像头:
cam = Camera.getCamera();
if(cam != null)
cam.setQuality(144000, 85);
cam.setMode(320, 240, 15);
cam.setKeyFrameInterval(60);
video.attachCamera(cam);
单击按钮但我收到此错误:
1061: Call to a possibly undefined method attachCamera through a reference with static type fl.video:FLVPlayback.
注意:网络上的所有示例都是动态创建视频的。它以这种方式工作,但我只想在舞台上创建我的视频对象并正确定位它。我不想在运行时使用 new 创建它。
【问题讨论】:
【参考方案1】:从舞台上移除 FLVPlayback 对象并完全摆脱它,这样它就不会再阻塞名称视频了。
然后像这样更改您的代码:
import flash.media.video; //here you get the right video class from flash library
var video = new Video(); // this will work after the import is done
cam = Camera.getCamera();
if(cam != null)
cam.setQuality(144000, 85);
cam.setMode(320, 240, 15);
cam.setKeyFrameInterval(60);
video.attachCamera(cam);
addChild(video) // brings video object to stage so its visible
您使用了错误的组件,但您想先创建一个 Video 实例,然后将 cam 附加到它...您所做的大部分都是正确的
【讨论】:
您好,谢谢,但我没有提到我不想使用 new 创建 Video 对象吗?请看 player_03 的回答。【参考方案2】:根据您的错误消息,“video”是FLVPlayback 的一个实例,根据文档,它包装了一个VideoPlayer 对象。看起来 FLVPlayback 提供了与 VideoPlayer 相同的大部分方法,这就是为什么您会混淆这两个方法,但 FLVPlayback 没有提供的一种方法是 attachCamera()。
试试这个:
video.getVideoPlayer(video.activeVideoPlayerIndex).attachCamera(cam);
【讨论】:
以上是关于如何在舞台上静态创建 Video 对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何获取动态创建的 Flash 舞台上的 MovieClip 名称?
Actionscript:如何创建一个注册hitTestObject的计数器并在主舞台上显示得分?