当我使用AVFoundation录制视频时,视频没有音轨,这段代码是怎么回事? readyForMoreMediaData的值总是返回no,方法‘appendSampleBuffer:’不执行...??
1.
AVAssetWriterInput *audioWriterInput = [self audioWriterInput];
if ([self.assetWriter canAddInput:audioWriterInput]) {
[self.assetWriter addInput:audioWriterInput];
}
2.
- (AVAssetWriterInput *)audioWriterInput {
NSDictionary *audioCompressionSettings =
@{
AVEncoderBitRatePerChannelKey:@(28000),
AVFormatIDKey : @(kAudioFormatMPEG4AAC),
AVNumberOfChannelsKey : @(1),
AVSampleRateKey : @(22050)
};
AVAssetWriterInput *audioWriterInput = [AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeAudio outputSettings:audioCompressionSettings];
audioWriterInput.expectsMediaDataInRealTime = YES;
self.audioWriterInput = audioWriterInput;
return audioWriterInput;
}
3.
- (void)appendingAudioSampleBuffer:(CMSampleBufferRef)sampleBuffer {
// readyForMoreMediaData is always return NO
if(self.audioWriterInput.readyForMoreMediaData) {
BOOL success = [self.audioWriterInput appendSampleBuffer:sampleBuffer];
if (success) {
NSLog(@"");
} else {
}
}
}发布于 2020-03-28 20:09:47
我真是个傻孩子。我错误地使用了getter方法!
https://stackoverflow.com/questions/60898508
复制相似问题