Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimpleCamera

既然传上来了就要写个说明对吧

Overview

以前做的一个录像功能, 传上来留个记录, 其实就是一个录制视频的功能, 原本想直接调用系统相机, 但是需要打开界面自动录像, 只好自己做一个出来. 代码是照着training和guide里面的camera部分写的, 文档里有坑, 有的地方感觉写的不明不白的, 一些算法比如说计算orientation之类的是从aosp里抄的, 看系统相机app代码的时候发现其实里面已经有自带一个参数自动开始录像, 但是还没有开放......

做的时候遇到几个问题

  1. 录像的时视角的远近时和预览比例有关的, 一开始做的时候是全屏的, 结果发现录像的时候里面的物体都很大, 需要离很远才行, 后来找了几个录像的app出来发现默认都不是全屏的, 试了一下发现4:3是最远的
  2. 录出来的视频是转了45°的, 找了一圈发现只能通过android.media.MediaRecorder#setOrientationHint方法设置, 但是这个需要依靠播放器支持才行, 如果不支持还是歪的, 难道相机镜头默认都是横着的? 好像可以直接修改接受到的视频数据每一帧的角度, 但是比较麻烦还涉及到解码转码之类的.
  3. setParameters会报错, 这个一般都是setPreviewSize的数值不支持, 之前做的时候放在开始录像前才设置, 但是后来在自己手机上试的时候会报错, 看到官方文档说要放在surfaceChange方法里面, 并且改变size的时候要停止预览才行, 改了之后果然可以用的.

TODO

  1. 可以封装成单独的view方便使用, 但是感觉不太会有什么地方需要用到这个了= =
  2. 把surfaceview改成用textureview.
  3. 增加一些功能, 如缩放, 手动切换视频比例之类的.

About

A Simple Camera Demo

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages