调用camera.takePicture时出现takePicture failed异常 程序直接退出

chr_9420 2016-12-29 10:59:30


/**
* 监听器:当图片捕获后调用
*/
public interface OnPhotoCapturedListener {
void onPhotoCaptured (Bitmap bitmap);
}

/**
* 设置照片捕获成功的监听器
*/
public void setOnPhotoCapturedListener (OnPhotoCapturedListener listener) {
this.listener = listener;
}

/**
* 抓取照片
*/
public boolean startCapturePhoto () {
if (isOpened == false) {
return false;
}

camera.startPreview();

camera.takePicture(null, null, new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] imgData, Camera camera) {
if (listener != null) {
Bitmap bitmap = BitmapFactory.decodeByteArray(imgData, 0, imgData.length);
listener.onPhotoCaptured(bitmap);
bitmap.recycle();
}
}
});

return true;
}

/**
* 设置Holder
*/
public void setSurfaceHolder (SurfaceHolder holder) {
try {
camera.setPreviewDisplay(holder);
} catch (IOException e) {
e.printStackTrace();
}
}
...全文
1157 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liufeng19820921 2019-03-08
  • 打赏
  • 举报
回复
我遇到一个问题,app在oppo安卓8.1正常,小米安卓6,安卓8,一加安卓9都正常,但是在红米安卓8.1报android.hardware.Camera.native_takePicture(Native Method)android.hardware.Camera.takePicture(Camera.java:1601) android.hardware.Camera.takePicture(Camera.java:1542) com.xiakesong.xkbj.FaceActivity8$3.onAutoFocus(FaceActivity8.java:653) 而且红米安卓8.1相机看起来像是黑白的,上面还有层阴影,你知道是什么原因吗?
chr_9420 2016-12-31
  • 打赏
  • 举报
回复
引用 2 楼 tcmakebest 的回复:
startPreview 紧跟着就是 takePicture , 那能这么用呢.
那要怎么改
tcmakebest 2016-12-31
  • 打赏
  • 举报
回复
startPreview 紧跟着就是 takePicture , 那能这么用呢.
chr_9420 2016-12-30
  • 打赏
  • 举报
回复
有大神能解答一下吗

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧