Когда я продолжаю пытаться записать видео, а затем заканчиваю запись, у меня возникает сбой, подобный этому
FirstGPUImage[768:179067] *** Terminating app due to uncaught
exception 'NSInternalInconsistencyException', reason: 'Unable to create
an OpenGL ES 2.0 context. The GPUImage framework requires OpenGL ES 2.0
support to work.'
Скриншот ошибки в XCode
Я не знаю, есть ли проблема с моим собственным кодом или GPUImageMovieWrite, поэтому я хотел бы спросить вас, почему!
Это мой код:
func startTest(){
mCamera.addAudioInputsAndOutputs()//避免录制第一帧黑屏
let name = Date().timeIntervalSince1970
videoUrl = URL(fileURLWithPath: "\(NSTemporaryDirectory())folder_demo\(name).mp4")
unlink(videoUrl?.path)
var size = CGSize(width: 480, height: 640)
movieWriter = GPUImageMovieWriter(movieURL:videoUrl, size:size )
movieWriter?.assetWriter.movieFragmentInterval = kCMTimeInvalid
movieWriter?.encodingLiveVideo = true
movieWriter?.setHasAudioTrack(true, audioSettings: nil)
ifFilter.addTarget(movieWriter)
self.mCamera.audioEncodingTarget = self.movieWriter
self.movieWriter?.startRecording()
liveTimer = Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(updateTest), userInfo: nil, repeats: true)
}
@objc func updateTest(){
weak var ws = self
movieWriter?.finishRecording(completionHandler: {
ws?.startTest()
print(Date().timeIntervalSince1970)
})
}