停止嵌入音乐 AS3

Stop embedded music AS3

N.B. :我调用声音变量的方式与建议的重复方式不同。这就是为什么问题的开头遵循的结构不同,

在我的应用程序中,我使用以下行通过 adobe air 在实际设备上嵌入音乐和 运行:

[Embed(source = '/inspiration.mp3')]
        private var MyBack:Class;
        private var back:Sound;

后来,每当我想播放它时,我都会使用以下代码:

back = (new MyBack()) as Sound;
back.play(0,9999);

它工作得很好,问题是我什么时候想停止那个音乐!我用过

back.stop(); 但它总是告诉我

1061: Call to a possibly undefined method stop through a reference with static type flash.media:Sound.

我做错了什么?

您应该存储生成的 SoundChannel 对象,然后使用该对象停止播放声音。

var backPlaying:SoundChannel;
....
backPlaying=back.play(0,9999);
....
backPlaying.stop();

当然,使 backPlaying 持久化,也就是在 class 旁边定义它 back.