Actionscript 3 在as3中控制as2 swf回放

Actionscript 3 在as3中控制as2 swf回放,actionscript-3,flash,movieclip,actionscript-2,playback,Actionscript 3,Flash,Movieclip,Actionscript 2,Playback,我正在将一个内置于Flash8中的swf嵌入到as3项目中。当我调用stop()或gotoAndStop(0)时;在表示嵌入式swf实例的MovieClip上,它会停止一秒钟,然后继续。尝试在mc上调用removeChild会将其从显示器上移除,但swf中的音频会继续播放。swf,在这种情况下必须嵌入,我不能使用加载器。有什么想法吗 守则: [Embed (source = "t1.swf")] private var t1:Class; private var mc:

我正在将一个内置于Flash8中的swf嵌入到as3项目中。当我调用stop()或gotoAndStop(0)时;在表示嵌入式swf实例的MovieClip上,它会停止一秒钟,然后继续。尝试在mc上调用removeChild会将其从显示器上移除,但swf中的音频会继续播放。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));
        }
    }
}
私有函数stopAll(do:DisplayObject):void
{
var clip:MovieClip=do as MovieClip;
if(clip!=null)
clip.stop();
var container:DisplayObjectContainer=do as DisplayObjectContainer;
if(容器!=null)
{
for(变量i:int=0;i