我無法使用iPhone上的avassetwriter將音頻錄製到視頻中。我可以在手機上錄製來自攝像頭的視頻沒有問題,但是當我嘗試添加音頻時,我什麼都沒有收到,而且相冊應用中的視頻顯示的內容也顯示出了一些真正的問題,4秒的視頻將會顯示15:54:01或類似的東西,即使視頻較短,編號後的每個視頻都會增加。我一直在試圖追尋其他問題,但沒有運氣。AVAssetWriter不記錄音頻
繼承人設置了AVAssetWriter如何IM
videoWriter = [[AVAssetWriter alloc] initWithURL:[NSURL fileURLWithPath:MOVIE_PATH] fileType:AVFileTypeQuickTimeMovie error:&error];
AudioChannelLayout acl;
bzero(&acl, sizeof(acl));
acl.mChannelLayoutTag = kAudioChannelLayoutTag_Mono;
NSDictionary* audioOutputSettings = audioOutputSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[ NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[ NSNumber numberWithInt: 1 ], AVNumberOfChannelsKey,
[ NSNumber numberWithFloat: 44100.0 ], AVSampleRateKey,
[ NSData dataWithBytes: &acl length: sizeof(acl) ], AVChannelLayoutKey,
[ NSNumber numberWithInt: 64000 ], AVEncoderBitRateKey,
nil];
然後在這裏是如何我寫使用CMSampleBufferRef音頻採樣緩衝器發送我怎麼設置我的音頻輸入
captureSession = [[AVCaptureSession alloc] init];
//set up audio input
AVCaptureDevice *audioDevice = [AVCaptureDevice defaultDeviceWithMediaType: AVMediaTypeAudio];
AVCaptureDeviceInput *audioInput = [AVCaptureDeviceInput deviceInputWithDevice:audioDevice error:&error ];
audioOutput = [[AVCaptureAudioDataOutput alloc] init];
if([captureSession canAddOutput:audioOutput])
{
[captureSession addOutput:audioOutput];
}
[audioOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];
繼承人通過audioOutput回撥
- (void) captureAudio:(CMSampleBufferRef)sampleBuffer
{
if([audioWriterInput isReadyForMoreMediaData]){
[audioWriterInput appendSampleBuffer:sampleBuffer];
}
}
會真的很贊任何幫助,我一直在這一天卡住。
嘿,你找到答案了嗎? – 2013-03-24 12:33:56