6

我有一个奇怪的问题:我想从两个声音文件和静音中生成一个新的声音文件。

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];

似乎不允许段之间有“无”!?

4

3 回答 3

2

仍然不知道这个“insertEmptyTimeRange”是什么意思。我解决了一个“静音”音频文件,其中没有任何内容。我把这个空的音频文件放在两个声音文件之间,这对我有用。问题已结束;)(但如果有人可以解释这个“insertEmptyTimeRange”,这仍然很有趣......)

于 2010-10-24T17:21:29.997 回答
1

不知道是不是晚了

insertEmptyTimeRange :如果您在轨道中插入一个空的时间范围,则在插入之前的该时间间隔内呈现的任何媒体都将在之后立即呈现。

因此,您所要做的就是先添加两个剪辑,然后在时间 2 添加空时间范围。这应该可以

insertTimeRange(0 到 2)
insertTimeRange(2 到 4)
insertEmptyTimeRange(2 到 4)

于 2014-06-05T12:31:27.667 回答
1

我得到它的工作如下:

[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, CMTimeMake(2,1))
                               ofTrack:audioTrack
                                atTime:kCMTimeZero
                                error:nil];
[compositionAudioTrack insertEmptyTimeRange:CMTimeRangeMake(CMTimeMake(2, 1), CMTimeMake(4, 1))];
[compositionAudioTrack insertTimeRange:CMTimeRangeMake(kCMTimeZero, CMTimeMake(2,1))  
                               ofTrack:audioTrack 
                                atTime:CMTimeMake(4, 1)
                                 error:nil];

如果您的声音来自 (0,2) 和 (4,6),则“空时间范围”需要为 (2,4)。

于 2012-07-04T22:41:17.063 回答