Android摄像头视频采集实现

Android 的摄像头视频采集,说难不难,说简单也有不少坑要踩,尤其是你想同时搞拍照、录视频、存文件这些事儿。这里整理了一套比较全的实现方式,从老的Camera API 到现在主推的Camera2,都给你梳理了一遍,像是初始化摄像头、设置预览、录制视频、保存文件、求权限这些,通通都有,代码也挺实用的。

摄像头的初始化比较关键,用Camera.open()或者CameraManager都行,前者适合老设备,后者更灵活。预览这块推荐用TextureView,画面流畅,扩展性强。

视频录制的话,你得配合MediaRecorder来搞。先设置视频分辨率、帧率啥的,把预览Surface连上去,再prepare()start(),一步都不能漏。不然运行时出错挺烦的。

要是你还想顺便拍个照,别忘了takePicture()这个方法,能拿到快门回调、原始数据和 JPEG 数据,UI 上加个按钮,体验也不错。

视频保存这部分也要注意,记得用Environment.getExternalStorageDirectory()定位到外部存储,再搞个子目录,把视频按时间戳命名,避免文件覆盖,用户也方便找。

,权限问题也得管,尤其是 Android 6.0 以后,CAMERAWRITE_EXTERNAL_STORAGE都要动态申,不然程序跑不起来。加点用户提示,做得细致点,用户体验会好多。

如果你对UVC 摄像头或者USB 接入有兴趣,推荐你顺便看看Android UVC 摄像USB 摄像头使用示例,里面讲得也挺细的。

,搞清楚 API 的使用顺序和各个组件的职责,写起来就顺了。如果你要兼容多个设备,建议提前测一波不同品牌的手机,不然上线后反馈一堆 bug 就头大了。

zip 文件大小:693.92KB