? ? ? ?最近公司讓給拍攝加美顏濾鏡懊悯,自熱而然就開始了GPUImage之旅炸渡,集成好運(yùn)行美顏效果也不錯瓶逃,但點(diǎn)擊時候發(fā)現(xiàn)閃一下束铭,當(dāng)存儲到本地后發(fā)現(xiàn)錄制開始那一瞬間是黑屏。
- - - - - - - - - - 以下是解決方法 - - - - - - - - - -
在 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;// 添加這句
}
最后在你創(chuàng)建美顏相機(jī)方法后面加一句
[_videoCamera addAudioInputsAndOutputs];
over厢绝!
當(dāng)然契沫,最好不要直接修改框架里面的東西哦!否則更新后就無法維護(hù)了?? 昔汉,自己fork去吧懈万,要不就用我的
pod'GPUImage', :git =>'https://github.com/sunhua163/GPUImage.git'