我目前正在使用Actionscript 3制作Flash Builder项目。我已经试图嵌入并播放MP3声音。我知道MP3文件正在加载,因为我有跟踪加载的字节,我还跟踪了播放MP3的功能。
import flash.media.Sound;
public class Sounds
{
[Embed (source="bin/resources/Bounce1.mp3" )]
private var bounce_01:Class;
private var bounce_01_mp3:Sound
public function Sounds()
{
bounce_01_mp3 = new bounce_01();
}
public function play():void {
trace("play Sound");
bounce_01_mp3.play();
}
}
我这样调用这段代码:
var sound_obj:Sounds = new Sounds();
sound_obj.play();
这真让我烦恼,请有人告诉我为什么这不发声?
此致
-Ben
答案 0 :(得分:0)
如果您按如下方式嵌入声音:
package assets.sounds
{
import flash.media.Sound;
[Embed (source="assets/embedded/audio/theme1.mp3")]
public class StartScreenSound extends Sound
{
public function StartScreenSound()
{
super();
}
}
}
然后,您可以随时随地拨打new StartScreenSound().play();
。
答案 1 :(得分:0)
您的代码看起来不错。您是否尝试过嵌入另一个mp3文件?
我注意到我们项目中的一些mp3文件在嵌入时挂起了mxml编译器。我发布了一个错误报告,但尚未查看:https://bugs.adobe.com/jira/browse/SDK-29391
似乎特定的mp3文件会在MP3转码器中引起奇怪的事情。
答案 2 :(得分:0)
Ben,我花了几个小时搞乱我认为是同样的问题。除了:我的声音肯定在播放。如果我在开始时没有空格并且播放了.Play(0,100)的声音,我会听到一个非常短的片段(可能是.2秒?)播放100次
我最初从我们的声音家伙那里得到了一堆.wavs,我使用Switch Sound File Converter将它们变成了Mp3s。但是,我只是让他在他的机器上为我重新转换它们,不知怎的,他们现在都玩得很好。不确定他使用了什么,但你可能会尝试自己修改/转换文件。