GPUImage滤镜第一帧黑屏问题

       最近公司让给拍摄加美颜滤镜,自热而然就开始了GPUImage之旅,集成好运行美颜效果也不错,但点击时候发现闪一下,当存储到本地后发现录制开始那一瞬间是黑屏。

- - - - - - - - - - 以下是解决方法 - - - - - - - - - -

在 GPUImageMovieWriter.m 中添加以下代码

static BOOL allowWriteAudio =NO;

- (void)startRecording;

{

allowWriteAudio=NO; // 添加这句

... ...}

- (void)processAudioBuffer:(CMSampleBufferRef)audioBuffer;

{

if(!allowWriteAudio) {// 添加这个判断

return;

}

... ...

}

elseif(self.assetWriter.status==AVAssetWriterStatusWriting)

{

... ...

if(![assetWriterPixelBufferInputappendPixelBuffer:pixel_bufferwithPresentationTime:frameTime])

NSLog(@"Problem appending pixel buffer at time: %@",CFBridgingRelease(CMTimeCopyDescription(kCFAllocatorDefault, frameTime)));

allowWriteAudio=YES;// 添加这句

}

最后在你创建美颜相机方法后面加一句

[_videoCamera addAudioInputsAndOutputs];

over!

当然,最好不要直接修改框架里面的东西哦!否则更新后就无法维护了 ,自己fork去吧,要不就用我的

pod'GPUImage', :git =>'https://github.com/sunhua163/GPUImage.git'

你可能感兴趣的:(GPUImage滤镜第一帧黑屏问题)