我正在编写一些内容:
一切运作良好,但我的音频格式存在问题:
当我从捕获会话中捕获音频样本时,我可以记录大约44个样本/秒,这些接缝是正常的。 当我读取.mp4文件时,我只记录3-5个音频样本/秒! 但是2个文件的外观和声音完全相同(在QuickTime中)。
我配置了2个音频AVAssetWriterInput的outputSettings如下:
NSDictionary *settings = @{
AVFormatIDKey:@(kAudioFormatLinearPCM),
AVNumberOfChannelsKey:@(2),
AVSampleRateKey:@(44100.),
AVLinearPCMBitDepthKey:@(16),
AVLinearPCMIsNonInterleaved:@(NO),
AVLinearPCMIsFloatKey:@(NO),
AVLinearPCMIsBigEndianKey:@(NO)
};
我将nil传递给音频AVAssetReaderTrackOutput的outputSettings,以便接收存储在轨道中的样本(根据文档)。
因此,从CaptureSession到最终文件的采样率应为44100Hz。为什么我只阅读一些音频样本?为什么它仍在工作?我有直觉,当我必须处理样本时,它将无法正常工作(我需要更新其时间戳)。
我尝试了其他几种设置(例如kAudioFormatMPEG4AAC),但AVAssetReader无法读取压缩音频格式。
感谢您的帮助:)