android camera预览关闭后还可以再次打开吗
1个回答
2015-04-05 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517165
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
activity pause过后恢复我们以前是这样做的,Camera对象需要重新生成
在onPause的时候,调用如下方法(已经删除其他跟我们项目相关的逻辑代码)
/**
* 停止显示相机画面</br>
* 若设置了录制器,会自动关闭录制器
*/
public void stopPreview() {
synchronized (mCameraLock) {
if (mCamera != null) {
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
}
}
然后在onResume时,重新获得Camera对象(通过Camera.open()),
再重新设置previewCallback,SurfaceHolder,Parameters等,最后startPreview
这里可以提醒一下LZ,
打开摄像头的时间可能会很长,勿在主线程直接打开,否则会有概率出ANR
摄像头根据设备的不同可能在打开时经常会抛各种异常,记得try,catch
在onPause的时候,调用如下方法(已经删除其他跟我们项目相关的逻辑代码)
/**
* 停止显示相机画面</br>
* 若设置了录制器,会自动关闭录制器
*/
public void stopPreview() {
synchronized (mCameraLock) {
if (mCamera != null) {
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
}
}
然后在onResume时,重新获得Camera对象(通过Camera.open()),
再重新设置previewCallback,SurfaceHolder,Parameters等,最后startPreview
这里可以提醒一下LZ,
打开摄像头的时间可能会很长,勿在主线程直接打开,否则会有概率出ANR
摄像头根据设备的不同可能在打开时经常会抛各种异常,记得try,catch
金山毒霸
2024-10-31 广告
2024-10-31 广告
电脑在启动游戏或软件的时候,桌面弹出错误提示框“0xc0000094”,应该怎么办?电脑报错,很大可能是因为某些DLL文件出现了异常,比如感染了病毒、DLL文件丢失等。解决方法如下:一、 手动解决方法1、先确定电脑操作系统是多少位的,现在的...
点击进入详情页
本回答由金山毒霸提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询