首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我使用AVAssetWriterInput时,readyForMoreMediaData的值总是为NO,但是为什么呢?

当我使用AVAssetWriterInput时,readyForMoreMediaData的值总是为NO,但是为什么呢?
EN

Stack Overflow用户
提问于 2020-03-28 15:39:05
回答 1查看 89关注 0票数 0

当我使用AVFoundation录制视频时,视频没有音轨,这段代码是怎么回事? readyForMoreMediaData的值总是返回no,方法‘appendSampleBuffer:’不执行...??

代码语言:javascript
复制
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 {

        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-28 20:09:47

我真是个傻孩子。我错误地使用了getter方法!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60898508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档