GPUImage 录制视频

2018-08-10  本文已影响21人  咸鱼有只喵

核心代码如下

            let url = URL(fileURLWithPath: "\(NSTemporaryDirectory())liyng_demo.mp4")
         // unlink非常重要,他将重复的路径删除,避免出现经常出现的路径问题
           unlink(url.path)
            
            movieWriter = GPUImageMovieWriter(movieURL: url, size: CGSize(width: 640.0, height: 480.0));
            
            movieWriter.encodingLiveVideo = true
            movieWriter.setHasAudioTrack(true, audioSettings: nil)
            filter.addTarget(movieWriter)
            self.videoCamera.audioEncodingTarget = self.movieWriter
            self.movieWriter.startRecording()

在这里我强调一下,我在开发的时候,被一个错误困扰了好几天

# [AVAssetWriter startWriting Cannot call method when status is 3]

解释一下,这个问题出现的原因是文件路径出现了问题,要么有重复的路径不能存储,要么创建初始文件失败,解决办法就是检查一下你的获取路径的方法是不是和我的一样,同样的一定要记住使用unlink,去除重复路径。

以上。

上一篇下一篇

猜你喜欢

热点阅读