我有一个WAV音乐文件,我想在Flash Pro中循环播放。但是,我不确定如何使用此轨道,该轨道具有开放部分和循环部分。
音频文件将被划分为'分三点: A , B 和 C 。 循环部分将是 B 和 C 之间的所有音频,而 A 和 B 将是开场部分,只会播放一次。
我尝试将WAV分成两个文件:AB为intro
文件,BC为looping
文件,因此在intro
声音完成后,{ {1}}声音开始了。
这两个文件都在库中(现在我只关注本地文件)。
总结一下,这是AS3代码:
looping
循环是完全无间隙的,但是前奏和循环部分之间的过渡会产生恼人的间隙声音。我怎么能让这种转变无间隙?
答案 0 :(得分:0)
您可以通过在第一个声音播放完毕之前一秒钟左右在另一个SoundChannel中播放第二个声音来避免间隙声音。这不是一个优雅的解决方案,但它可能会奏效。也许是这样的:
import flash.media.Sound;
import flash.events.Event;
import flash.media.SoundChannel;
var introMusic:Sound = new heroIntro();
var loopingMusic:Sound = new heroLoop();
var introChannel:SoundChannel = new SoundChannel();
var loopingChannel:SoundChannel = new SoundChannel();
var hasBegunLooping:Boolean = false;
introChannel = introMusic.play();
function update():void{ //called every tick
if(!hasBegunLooping && introChannel.position > introMusic.length - 1000){
loopingChannel = loopingMusic.play(0, int.MAX_VALUE);
hasBegunLooping = true;
}
}