我正在使用AVAudioRecorder
具有以下设置的 iPhone 在 iPhone 上录制音频:
NSMutableDictionary *recordSettings = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[NSNumber numberWithFloat:44100.0], AVSampleRateKey,
[NSNumber numberWithInt:1], AVNumberOfChannelsKey,
[NSNumber numberWithInt:12800], AVEncoderBitRateKey,
[NSNumber numberWithInt:16], AVLinearPCMBitDepthKey,
[NSNumber numberWithInt: AVAudioQualityHigh], AVEncoderAudioQualityKey,
nil];
(我可以灵活使用这些设置中的大多数,但我必须使用 MPEG4 AAC。)
我将音频保存到文件中。
用户需要能够在以后返回并继续录制到同一文件。似乎没有直接使用的选项AVAudioRecorder
,所以我正在录制到一个新文件并将它们连接起来。
目前我正在使用 anAVMutableComposition
和 an AVMutableCompositionTrack
as here附加文件,但对于较长的录音来说真的很慢,所以这不是真的可行。
我想如果我可以从第二个文件中剥离标题,将音频数据附加到第一个文件,然后更改组合文件的标题以反映新的持续时间,那会快得多。我知道这两个文件都是用完全相同的设置创建的,我认为标题中的其他细节应该是相同的。
不幸的是,我找不到任何有关标题格式的信息,或者是否可以以这种方式组合文件。
所以我的问题是:
- 在 iPhone 上创建时,MPEG-4 AAC 文件头的格式是什么?
- 我可以通过弄乱这样的标题来组合两个音频文件吗?
- 有没有更好的方法可以几乎瞬间附加两个 MPEG-4 AAC 音频文件?