展会信息港展会大全

android 中如何获取camera当前状态
来源:互联网   发布日期:2015-09-29 10:12:08   浏览:1259次  

导读:android中,调用摄像头需要判断当前摄像头的状态,没找到对应的方法,采用了个折中方法。在非main线程里调用Camera.open,catch 相应的RuntimeException...

android中,

调用摄像头需要判断当前摄像头的状态,没找到对应的方法,

采用了个折中方法。

在非main线程里调用Camera.open,catch 相应的RuntimeException,

[java]

<SPAN style="COLOR: #cc6600; FONT-SIZE: 14px"><span style="white-space:pre"></span>/**

* 测试当前摄像头能否被使用

* @return

*/

public static boolean isCameraCanUse() {

boolean canUse = true;

Camera mCamera = null;

try {

// TODO camera驱动挂掉,处理??

mCamera = Camera.open();

} catch (Exception e) {

canUse = false;

}

if (canUse) {

mCamera.release();

mCamera = null;

}

return canUse;

}</SPAN>

<span style="white-space:pre"></span>/**

* 测试当前摄像头能否被使用

* @return

*/

public static boolean isCameraCanUse() {

boolean canUse = true;

Camera mCamera = null;

try {

// TODO camera驱动挂掉,处理??

mCamera = Camera.open();

} catch (Exception e) {

canUse = false;

}

if (canUse) {

mCamera.release();

mCamera = null;

}

return canUse;

}

需要注意的是应该在自己程序的非UI线程中进行上面的判断,因为进入自己的UI线程会导致当前其他程序正在拍摄视频自动终止,

因为UI线程只能有一个在运行。

这个方法可用,但是如果摄像头没有被使用,open和release会白白消耗些资源,另外camera驱动进程挂掉的情况没有考虑

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港