1,创建的音频AVAssetWriterInput outputSettings 设置为aac
2,pcm 数据通过AudioConverter 软编码成 aac 数据
3,aac 2进制数据创建为CMSampleBufferRef
但是在 AVAssetWriterInput appendSampleBuffer 的时候竟然提示说:
[AVAssetWriterInput appendSampleBuffer:] Input buffer must be in an uncompressed format when outputSettings is not nil
2,pcm 数据通过AudioConverter 软编码成 aac 数据
3,aac 2进制数据创建为CMSampleBufferRef
但是在 AVAssetWriterInput appendSampleBuffer 的时候竟然提示说:
[AVAssetWriterInput appendSampleBuffer:] Input buffer must be in an uncompressed format when outputSettings is not nil
// 创建声音AVAssetWriterInput 的代码
AudioChannelLayout channelLayout;
memset(&channelLayout, 0, sizeof(AudioChannelLayout));
channelLayout.mChannelLayoutTag = kAudioChannelLayoutTag_Stereo;
NSDictionary *outputSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[ NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[ NSNumber numberWithInt: _src_channel_count_pcm], AVNumberOfChannelsKey,
[ NSNumber numberWithFloat: _src_sample_rate_pcm], AVSampleRateKey,
[NSData dataWithBytes:&channelLayout length:sizeof(AudioChannelLayout)], AVChannelLayoutKey,
//[ NSNumber numberWithInt: 128000 ], AVEncoderBitRateKey,
nil];
assetWriterInput_audio = [AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeAudio outputSettings:outputSettings];
// 初始化pcm -> aac 处代码
memset(&_srcPcmFormat, 0, sizeof(_srcPcmFormat));
_srcPcmFormat.mFormatID = kA