Android低版本sdk的getSupportedPreviewFrameRates实现
16lz
2021-01-26
转自: http://www.devdiv.com/forum.php?mod=viewthread&tid=104390&extra=page%3D1%26filter%3Ddigest%26digest%3D1%26digest%3D1 在用Camera类做摄像头项目时,需要调用setPreviewFrameRate来设置摄像头的PreviewFrameRate,这个时候需要获取系统支持的PreviewFrameRate值,在低版本sdk中getSupportedPreviewFrameRates不能用,需要自己实现,请参阅下面的代码:
public List<Integer> GetSupportedPreviewFrameRates() {
List<Integer> list = new ArrayList<Integer>();
try {
String KEY_PREVIEW_FRAME_RATE = "preview-frame-rate-values";
String str = mParms.get(KEY_PREVIEW_FRAME_RATE);
String[] arr = str.split(",");
int cnt = arr.length;
for (int i = 0; i < cnt; i++) {
list.add(Integer.parseInt(arr[i]));
}
} catch (Exception e) {
CommonHelper.OutputException(mTag, e);
list = null;
}
return list;
}
上面函数中的mParms 是通过下面类似的代码获取的
private Camera.Parameters mParms;
private Camera mCamera = null;
if (mCamera != null)
return;
// 打开摄像头
try {
mCamera = Camera.open();
} catch (Exception e) {
return;
}
mParms = mCamera.getParameters();
public List<Integer> GetSupportedPreviewFrameRates() {
List<Integer> list = new ArrayList<Integer>();
try {
String KEY_PREVIEW_FRAME_RATE = "preview-frame-rate-values";
String str = mParms.get(KEY_PREVIEW_FRAME_RATE);
String[] arr = str.split(",");
int cnt = arr.length;
for (int i = 0; i < cnt; i++) {
list.add(Integer.parseInt(arr[i]));
}
} catch (Exception e) {
CommonHelper.OutputException(mTag, e);
list = null;
}
return list;
}
上面函数中的mParms 是通过下面类似的代码获取的
private Camera.Parameters mParms;
private Camera mCamera = null;
if (mCamera != null)
return;
// 打开摄像头
try {
mCamera = Camera.open();
} catch (Exception e) {
return;
}
mParms = mCamera.getParameters();
更多相关文章
- Android获取所有存储卡挂载路径
- Android(安卓)PopupWindow 弹出菜单
- Android(安卓)资源名资源id互转,根据路径获取bitmap跟drawable
- android ndk返回String(字符串)
- Android(安卓)Parcelable代码自动生成插件 Parcelable code gene
- react-native-vector-icons android 字体图标
- 关于Android如何集成QQ登录及分享
- 在代码中设置RelativeLayout布局中标签的android:layout_toLeftO
- Android实现Tab布局的4种方式(Fragment+TabPageIndicator+ViewPag