2013-08-01 32 views
0

我为包含介绍声音剪辑,循环中间声音剪辑和结束剪辑的视频创建音轨。我需要将这些动态写入ByteArray,然后将它们与位图组合起来制作视频。它的工作,除了在视频输出,我得到了介绍声音结束和循环声音开始之间的一个小小的延迟(音频文件没有任何沉默,他们是无缝的) - 任何人都可以建议我怎么可以避免这种情况? (_soundIntro,_soundLoop和_soundEnd是嵌入的音频文件。)无缝地将声音顺序排列成ByteArray - flash,as3

var baAudio:ByteArray = new ByteArray(); 
var baAudioIntro:ByteArray = new ByteArray(); 
var baAudioLoop:ByteArray = new ByteArray(); 
var baAudioEnd:ByteArray = new ByteArray(); 

var totalLength:Number = (_bitmaps.length/FLV_FRAMERATE) * 44000; 
var loopLength:Number = totalLength - (_soundIntro.length * 44.1) - (_soundEnd.length * 44.1); 

_soundIntro.extract(baAudioIntro, _soundIntro.length * 44.1); 
_soundLoop.extract(baAudioLoop, loopLength); 
_soundEnd.extract(baAudioEnd, _soundEnd.length * 44.1); 

baAudio.writeBytes(baAudioIntro); 
baAudio.writeBytes(baAudioLoop); 
baAudio.writeBytes(baAudioEnd); 
+0

删除“+1000”? – 2013-08-01 15:58:48

+0

刚刚更新我的代码 - 它的工作原理,但我仍然有每个音频部分之间的小差距。 –

+0

嗯听起来像它可能是这样的:http://www.netalive.org/swsu/archives/2007/01/gapless_mp3_loops_in_flash_1.html - 等待wav文件来测试它! –

回答