我使用AVAssetWriter在app temp文件夹中使用以下设置输出wav文件:
NSDictionary* outputSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[ NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[ NSNumber numberWithInt: 2 ], AVNumberOfChannelsKey,
[ NSNumber numberWithFloat: 44100.0 ], AVSampleRateKey,
[ NSData data ], AVChannelLayoutKey,
[ NSNumber numberWithInt: 64000 ], AVEncoderBitRateKey,
nil];
它输出看似正常的45mb .wav文件,但应用程序无法读取它。我怀疑文件头已损坏,因为我在大胆中打开了.wav(接受它没有问题)并再次使用.wav扩展名重新导出它。导出的文件在应用程序中正常工作。
我还使用文本编辑器打开了两个.wav文件以查看标题,它们有些不同。
任何线索?
答案 0 :(得分:0)
当您使用kAudioFormatMPEG4AAC
时,AVFormatIDKey
使用了kAudioFormatLinearPCM
。 Wave文件是PCM格式,无法使用MPEG-4数据包导出。