【发布时间】:2014-06-05 20:31:27
【问题描述】:
我有一个奇怪的问题:我想从两个声音文件和静音中生成一个新的声音文件。
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];
似乎不允许段之间有“无”!?
【问题讨论】:
标签: iphone audio avfoundation