MediaRecorderDemo
4路摄像头录制 MediaRecorder+TextureView+setMaxDuration 后台服务+悬浮窗+定时长循环+存储自动清理 基于高通
1.项目简介
出租车项目,行车记录仪部分,需求:4路摄像头同录,后台运行,可调出预览画面,定时长循环录制,存储满自动清理。
2.功能实现
服务悬浮窗:Service+View+TextureView,可将4宫格预览画面缩放、显示、隐藏;
循环定长录像:TextureView+MediaRecorder和setMaxDuration +setOnInfoListener+开关录像;
存储清理:cleanSDservice
3.踩坑点
(1)TextureView和SurfaceView的区别?
答:TextureView支持缩放位移隐藏等操作,SurfaceView是独立view,不依赖于父控件,本项目中通过隐藏SurfaceView所在的父控件,不会隐藏SurfaceView,
通过隐藏SurfaceView本身,则会触发其surfaceDestroyed回调销毁,与需求不一致。但是发现性能上TextureView占用的内存更高。
(2)高通平台分辨率的设置和其他平台差异
答:发现谷歌Api设置分辨率的方法在高通平台设置后再获取,没有立即生效。最后加上parameters.set(“video-siz