2013-08-01 29 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文件來測試它! –

回答