我能描述的唯一方法就是显示我已经编写的代码,然后尝试解释我想要做什么。 基本上,我正在创建一个音板游戏,在屏幕的底部,我将有一个动画片段,我将拖动其他动画片段,然后点击付费,并使用数组和.push他们将播放为了。我试图使用代码将声音放到动画片段上。到目前为止,我有这个:
var snd1:Sound = newSound();
snd.load(newURLRequest("naturefrog.wav"));
var channel:SoundChannel;
snd.addEventListener
我现在仍然坚持听取听众的意思。
答案 0 :(得分:0)
您应该使用Flash API for Sound来确定要添加的侦听器。页面底部有一些有用的示例。
我假设您要添加:
snd.addEventListener(Event.COMPLETE, completeHandler);
snd.addEventListener(Event.ID3, id3Handler);
snd.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
snd.addEventListener(ProgressEvent.PROGRESS, progressHandler);
答案 1 :(得分:0)
如果声音是外部声音,请参阅此答案以了解声音何时完成加载: Loading a sound from an external source
现在,一旦你准备好播放声音并听完它的声音,就会在这里得到解答: demonstrates setting up listeners for sound_complete, as well as looping
答案 2 :(得分:0)
当用户将动画片段的声音引用拖动到特定的movieclilp中时,您正在将它的声音引用推送到数组中,对吗?如果这样做,你可以从数组中移出一个元素(array.shift,通常会移除并返回数组的第一个元素)。
function playSoundInArray(){
if(array.length){
var snd:Sound = array.shift() as Sound;
channel = snd.play();
channel.addEventListener(Event.SOUND_COMPLETE, onSoundPlayed);
}else{
//Do something here if there is no sound reference or the array is empty
}
}
function onSoundPlayed(e:EVent){
channel.removeEventListener(Event.SOUND_COMPLETE, onSoundPlayed);
playSoundInArray();
}