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.
我做错了什么?
答案 0 :(得分:2)
您应该存储生成的SoundChannel
对象,然后使用该对象停止播放声音。
var backPlaying:SoundChannel;
....
backPlaying=back.play(0,9999);
....
backPlaying.stop();
当然,要使backPlaying
持续存在,也就是在back
之外的类中定义它。