使用安卓相机拍照的问题
我有一个应用程序,我正在使用android相机拍照。我已经构建了自己的android相机。并且按下按钮拍摄照片。
像这样的东西:
public void onClick(View arg0) {
mCamera.takePicture(null, mPictureCallback, mPictureCallback);
}
Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] imageData, Camera c) {
if (imageData != null) {
Intent mIntent = new Intent();
Bundle b = new Bundle();
b.putByteArray("imageData", imageData);
Intent i = new Intent(mContext, ViewPhoto.class);
i.putExtras(b);
startActivity(i);
setResult(FOTO_MODE, mIntent);
finish();
}
}
};
一旦拍摄照片,我使用意图并将字节发送给其他活动。
最大的问题是,如果我通过按下按钮逐个拍摄多张照片,我的应用会在此行崩溃:
mCamera.takePicture(null, mPictureCallback, mPictureCallback);
这就是我的logcat的样子:
java.lang.RuntimeException: takePicture failed
at android.hardware.Camera.native_takePicture(Native Method)
at android.hardware.Camera.takePicture(Camera.java:746)
at android.hardware.Camera.takePicture(Camera.java:710)
at com.Xperiaproject.TakePhoto.onClick(TakePhoto.java:216)
at android.view.View.performClick(View.java:2534)
at android.view.View$PerformClick.run(View.java:9210)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3701)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
at dalvik.system.NativeStart.main(Native Method)
任何想法如何解决这个问题?
编辑:我也试过:
mCamera.takePicture(null, null, mPictureCallback);
但几张照片后崩溃!
!!!!!!!!这是我的整个代码:http://pastebin.com/0U1pQSak
确保在拍摄照片后再次调用Camera.startPreview()
。
8)拍照后,预览显示将停止。 要拍摄更多照片,请再次调用startPreview()。
来自Camera类文档
我在这个线程中遇到了类似的问题,并在调用takePicture()
之前通过添加System.gc()
来解决它。
System.gc();
CameraParameters.mCamera.takePicture(null, null, jpegCallback);
这里是我用过的代码,它的作用是https://github.com/commonsguy/cw-advandroid/blob/master/Camera/Picture/src/com/commonsware/android/picture/PictureDemo.java
链接地址: http://www.djcxy.com/p/46513.html