[英]Controlling as2 swf playback in as3
我将内置Flash 8的swf嵌入到as3项目中。 当我调用stop()或gotoAndStop(0); 在表示嵌入式SWF实例的MovieClip上,它会停止一秒钟,然后继续。 尝试在mc上调用removeChild会将其从显示器中删除,但swf中的音频会继续播放。 瑞士法郎,在这种情况下必须嵌入,我不能使用加载程序。 有任何想法吗
编码:
[Embed (source = "t1.swf")]
private var t1:Class;
private var mc:MovieClip;
public function iphoneTest()
{
var tf:TextField = new TextField();
tf.x = 10;
tf.y = 100;
tf.width = 100;
tf.height = 50;
tf.text = "Hello worl";
mc = new t1();
var button:CustomSimpleButton = new CustomSimpleButton();
button.width = 50;
button.height = 50;
button.x = 10;
button.y = 150;
button.addEventListener(MouseEvent.CLICK, onClick);
this.addChild(mc);
this.addChild(tf);
this.addChild(button);
}
private function onClick(e:MouseEvent):void {
mc.stop();
this.removeChild(mc);
}
您是否尝试过mc = null;
?
也因为您知道它是一个as2 swf,所以可能应该使用avm1movie
而不是MovieClip
在最坏的情况下,您可以杀死SWF中的所有声音...
确保导入混音器类,然后终止声音。
import flash.media.SoundMixer;
SoundMixer.stopAll();
如果您的SWF具有任何层次结构,则需要通过它进行递归才能停止所有影片剪辑。
private function stopAll(do:DisplayObject):void
{
var clip:MovieClip = do as MovieClip;
if (clip != null)
clip.stop();
var container:DisplayObjectContainer = do as DisplayObjectContainer;
if (container != null)
{
for (var i:int = 0; i < container.numChildren; ++i)
{
stopAll(container.getChildAt(i));
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.