0

我在 Flash 中嵌入了一个 intro.AIF 文件和一个 loop.aif 文件,我需要播放介绍然后播放循环。所以这就是我所做的

var intro:introSound = new introSound();
var introChannel:SoundChannel = intro.play();
introChannel.addEventListener(Event.SOUND_COMPLETE, handleAudioLoop);

private function handleAudioLoop($event:Event):void {
var loop:loopSound = new loopSound();
var loopChannel:SoundChannel = loop.play(1, int.MAX_VALUE);
}

发生的事情是它不是无缝的,在循环开始之前似乎存在某种故障或弹出。然后我尝试使用 settimeout,因为我认为问题出在 eventListener 上,但仍然无法完美,要么是流行声音,要么我必须稍微早一点播放循环。

有没有人遇到过这个问题并知道如何解决?谢谢。

附言。在 iTune 中连续播放两个声音文件是无缝的,只是在 Flash 中不行。

4

2 回答 2

0

如果您的声音是 mp3 格式,则每首曲目之前和之后总是有空格。如果您在 FLA 中有声音文件,请将 mp3 文件替换为 wav 文件,Flash 会自动将其转换为 mp3 格式,没有空格。

于 2012-10-17T06:21:38.903 回答
0

不幸的是,Event.SOUND_COMPLETE 不够精确,无法无缝播放不同的声音。看看Prefered method for looping sound flash as3

于 2012-10-17T19:06:40.477 回答