我有一個奇怪的問題:我要生成一個新的聲音文件了兩次聲音文件和沉默。AVMutableCompositionTrack - insertTimeRange - insertEmptyTimeRange問題
Sound1例子:2秒長 + 沉默:2秒沉默 + SOUND2:2秒長
當我嘗試下面的代碼,我得到6秒長音效檔的所有部分,但在一個不同的順序!順序是:Sound1例子,SOUND2,沉默
我不能夠把這種沉默在這個結構的中間(也沒有開頭)。這是典型的行爲還是我有什麼問題?
下面是把段一起代碼:
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, [audio1 duration]) ofTrack:clipAudioTrack1 atTime:kCMTimeZero error:nil];
[compositionAudioTrack insertEmptyTimeRange:CMTimeRangeMake(kCMTimeZero, CMTimeMake(2, 1))];
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, [audio2 duration]) ofTrack:clipAudioTrack2 atTime:CMTimeMake(4, 1) error:nil];
也許有人有一個想法?先謝謝你!
順便說一句:下面沒有insertEmptyTimeRange行代碼也不起作用,它只是產生4個秒聲音和SOUND2幻燈片到Sound1例子中結束:
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, [audio1 duration]) ofTrack:clipAudioTrack1 atTime:kCMTimeZero error:nil];
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, [audio2 duration]) ofTrack:clipAudioTrack2 atTime:CMTimeMake(4, 1) error:nil];
看來,這是不允許段之間「沒有」!?
導出組合物時是否使用了通過模式? – zoul 2011-01-06 14:30:00
你是什麼意思 - 直通模式?我有同樣的問題。我會在空時間範圍內插入通過指令。 – comonitos 2012-07-04 14:22:38