我应该用什么来加载as3而不是load()的音频?

时间:2014-01-20 05:04:29

标签: actionscript-3 audio

我有一个4x4鼓垫的设置,它实际上是按钮或电影剪辑,有3种状态来显示视觉反馈(就像按下它们时垫子的亮起一样)。我已经在Android平板电脑以及支持Windows 7触控的笔记本电脑上测试了这个设置。显然,Windows 7笔记本电脑功能更强大,因此更具响应性。

但反应不够。

我想知道我应该如何处理音频文件的加载,这些文件是存储在swf文件旁边的资源文件夹中的mp3格式的短鼓组样本声音。

是否有更好的方法,例如缓存声音的方法,以便每次触发声音事件时都不必重新加载声音?

非常感谢任何帮助。 (我现在还没有意识到,除了每次按下打击垫时调用新声音之外,还要接受加载声音,因此不会真正缓存声音)

1 个答案:

答案 0 :(得分:0)

var kickc_03:Sound = new kickc_03_mp3(); //不确定是否在这里使用Sound()或kickc_03 ..

//或

var kickc_03:kickc_03_mp3 = new kickc_03_mp3();

//它们都可以工作,因为kickc_03_mp3是声明的子类。

如果我是你,我会做类似的事情:

//执行一次

var drumNum:int = 16;

var soundArray:Array = [null];

var C:Class;

的init();

function init():void{

for(var i:int=1;i<=drumNum;i++){

C = Class(getDefinitionByName("kickc_"+formatF(i)+"_mp3");

soundArray.push(new C());

}



function formatF(n:int):String{

var s:String=n.toString();

while(s.length<2){

s="0"+s;

}

return s;

}



//////////////////////////////////////////////

现在,只要你想生成kickc_somenum_mp3声音,请使用:

soundArray [somenum] .play();