我做了一个函数,它无限循环播放 mp3 直到我停止它:
private function loopSound(a:Class, lead:Number, trail:Number) {
var b = new a();
var sChannel = new SoundChannel();
var timer:Timer = new Timer(b.length - lead - trail, 1);
sChannel = b.play(lead);
timer.addEventListener(TimerEvent.TIMER_COMPLETE, function r(e:TimerEvent) { loopSound(a, lead, trail); } );
timer.start();
}
这个函数的问题是它不能正确循环。虽然我的计算是正确的(在我看来),但 flash 并没有正确计算位置。知道如何实现完美的 mp3 循环吗?
- 领先=以毫秒为单位开始的间隙(在我的情况下为 27.375 毫秒)
- trail =以毫秒为单位的最后间隙(在我的情况下为 20.278 毫秒)