录制视频时,在视频右下角添加时间水印,达到监控录像的效果,如下图:
实现思路如下:
1.制作12张图片,分别是数字0-9,冒号和横折。首先用PS做成png24格式,最好是黑底白字(在代码中将黑色忽略)。
2.将上面制作好的12张png图片转成256色的bmp位图,可以使用windows自带的画图程序打开,然后另存为。
3.将第2步得到的256色bmp图片,转成c数组。
4.将第3步得到的c数组放到头文件tchip_digital_data.h里。
5.修改frameworks/av/media/libstagefright/CameraSource.cpp文件,在录制时,添加时间水印到每一个视频帧。
2.录制视频文件的容量和时间限制
录制视频需要分段保存,可以从系统源码考虑,看了以下一些代码:
-
framework/av/media/libstagefright/MPEG4Writer.cpp
-
package/apps/Camera/src/com/android/camera/actor/VideoActor.java
主要从MPEG4Writer.cpp中的kMax32BitFileSize 和入手,如下,修改单个文件最大容量为56M(0x3800000),发现利用系统Camera录像时,到达阀值后会提示“已达到大小上限”,并自动停止,保存已经录制的视频。