因为前段时间项目中需要加入录制屏幕的功能,有点类似于汤姆猫那样,可以录制下来然后分享这段视频。
从来没有接触过音视频方面的东西啊,这方面的资料也着实难找。
现实中的悲剧就是:至于你会不会,反正老板就需要你会~~~
没办法,凡事都是被逼出来的啊
幸好看到国外的论坛中有一个人写了一个叫做ScreenCaptureView的自定义View(具体代码可自选google),其主要的原理就是定时的绘屏,然后根据关键帧构建音频文件,不过效率不是很好,实际工作中还有会很多问题。
于是喜欢站在巨人肩上的我,就从此处开始YY了,我根据其原理自己写了一个THCapture的类(为什么我写的类总是喜欢TH开头呢,真搞不懂,哈哈),主要用来设置录制相关的属性,
另外有一个THCaptureUtilities的类,目前里面就一个方法,主要用来实现视频与音频的混合。
##1.下面我大概的介绍一下时里面的一些方法:
THCapture 有三个属性:
frameRate用来设置录制的帧频,就是一秒中录制几帧图像。
captureLayer用来设置你需要录制的Layer.
delegate是个程序员都明白的
有两个录制相关的方法
两个录制的回调方法
##2.THCaptureUtilities类中目录就只有一个类方法
根据方法名就能明白这方法的作用了
目前代码已经可以良好的工作了,但是录制出来的效果还不是特别好,还有待优化,希望能有这方面的大牛提供一些性能的优化
为了方便,我专程写有一个示例,实现了:使用的时候会录制10秒的视频并存入相册之中。