我正在使用swfLoader在我的flex/actionscript代码中加载外部flash电影。如果加载的swf是为较新的flash player版本(我相信是9.0或更高版本)创建的,它将作为一个flash.display.MovieClip对象加载,该对象具有播放/暂停和转到帧的方法。然而,如果加载的swf是为较旧的flash播放器(我相信是6.0)制作的,那么它加载为flash.display.av1movie,没有播放/暂停的方法。有没有办法从我的flex代码中播放/暂停av1movie?
发布于 2010-11-10 16:14:31
有一个方法:ForcibleLoader。它的工作原理是这样的-加载swf作为ByteArray,然后修改它,并使用loadBytes加载结果。它将as3标志设置为true,将swf版本设置为9。不过,需要注意的是,as2脚本在AVM2中不能正常工作,因为它与AVM1有许多不同。但是,如果您有简单的动画,这可能会起作用。你会得到MovieClip而不是AVM1Movie,测试一下就可以了。
发布于 2010-11-10 16:02:24
不,没有!
从文档中:
The AVM1Movie object can use methods and properties inherited from the
DisplayObject class (such as x, y, width, and so on). However, no
interoperability (such as calling methods or using parameters)
between the AVM1Movie object and AVM2 objects is allowed.https://stackoverflow.com/questions/4142175
复制相似问题