我一直在浏览一些教程,试图找到如何嵌入音频文件并在AS3中播放它们,并且它们倾向于显示非常相似的示例。但是,当我尝试使用这些示例时,没有任何作用。我的mp3文件将成功嵌入,所有代码行都将成功执行,但不会发出声音。以以下代码为例:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.media.Sound;
public class Main extends Sprite
{
[Embed(source='/../lib/Kalimba.mp3')]
private var MySound : Class;
private var sound : Sound;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
sound = (new MySound()) as Sound;
sound.play();
}
}
}
这是怎么了在线上的许多示例基本上都使用此代码,只是更改了变量名等。我正在使用FlashDevelop,以防万一。谢谢。
编辑
显然,它以某种方式链接到该文件。我尝试了Kalimba.mp3,带有Flaxen Hair.mp3的女仆和Sleep Away.mp3,它们都是Libraries \ Music \ Sample Music中Windows 7的默认设置。他们都没有工作。然后我在其他地方下载了一个随机mp3文件并尝试使用它,效果很好(Blackoji Blackbird-Heartbeat.mp3 from http://www.last.fm/music/+free-music-downloads/sample)。我尝试使用转换器来确保Kalimba处于44100 Hz,比特率为128 kbps,但这似乎没有用。有什么不同?
最佳答案
它对您的代码非常适合我。检查您的mp3文件。尝试使用其他文件,看看是否可行。
还要检查一些愚蠢的错误,例如:
关于actionscript-3 - 为什么不播放此嵌入式声音文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18178911/