09.195: E/AndroidRuntime(8340): FATAL EXCEPTION: main
03-16 23:33:09.195: E/AndroidRuntime(8340): java.lang.RuntimeException: setParameters failed
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.hardware.Camera.native_setParameters(Native Method)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.hardware.Camera.setParameters(Camera.java:1295)
03-16 23:33:09.195: E/AndroidRuntime(8340): at cn.itcast.takepicture.TakePictureActivity.startPreview(TakePictureActivity.java:78)
03-16 23:33:09.195: E/AndroidRuntime(8340): at cn.itcast.takepicture.TakePictureActivity.access$0(TakePictureActivity.java:61)
03-16 23:33:09.195: E/AndroidRuntime(8340): at cn.itcast.takepicture.TakePictureActivity$1.surfaceCreated(TakePictureActivity.java:45)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.SurfaceView.updateWindow(SurfaceView.java:533)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.SurfaceView.access$000(SurfaceView.java:81)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:169)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:590)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1622)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2447)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.os.Handler.dispatchMessage(Handler.java:99)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.os.Looper.loop(Looper.java:137)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.app.ActivityThread.main(ActivityThread.java:4437)
03-16 23:33:09.195: E/AndroidRuntime(8340): at java.lang.reflect.Method.invokeNative(Native Method)
03-16 23:33:09.195: E/AndroidRuntime(8340): at java.lang.reflect.Method.invoke(Method.java:511)
03-16 23:33:09.195: E/AndroidRuntime(8340): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-16 23:33:09.195: E/AndroidRuntime(8340): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-16 23:33:09.195: E/AndroidRuntime(8340): at dalvik.system.NativeStart.main(Native Method)看不懂的异常exception
03-16 23:33:09.195: E/AndroidRuntime(8340): java.lang.RuntimeException: setParameters failed
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.hardware.Camera.native_setParameters(Native Method)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.hardware.Camera.setParameters(Camera.java:1295)
03-16 23:33:09.195: E/AndroidRuntime(8340): at cn.itcast.takepicture.TakePictureActivity.startPreview(TakePictureActivity.java:78)
03-16 23:33:09.195: E/AndroidRuntime(8340): at cn.itcast.takepicture.TakePictureActivity.access$0(TakePictureActivity.java:61)
03-16 23:33:09.195: E/AndroidRuntime(8340): at cn.itcast.takepicture.TakePictureActivity$1.surfaceCreated(TakePictureActivity.java:45)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.SurfaceView.updateWindow(SurfaceView.java:533)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.SurfaceView.access$000(SurfaceView.java:81)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:169)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:590)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1622)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2447)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.os.Handler.dispatchMessage(Handler.java:99)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.os.Looper.loop(Looper.java:137)
03-16 23:33:09.195: E/AndroidRuntime(8340): at android.app.ActivityThread.main(ActivityThread.java:4437)
03-16 23:33:09.195: E/AndroidRuntime(8340): at java.lang.reflect.Method.invokeNative(Native Method)
03-16 23:33:09.195: E/AndroidRuntime(8340): at java.lang.reflect.Method.invoke(Method.java:511)
03-16 23:33:09.195: E/AndroidRuntime(8340): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-16 23:33:09.195: E/AndroidRuntime(8340): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-16 23:33:09.195: E/AndroidRuntime(8340): at dalvik.system.NativeStart.main(Native Method)看不懂的异常exception
解决方案 »
- sdk安装问题?eclipse问题?
- 急求,点击GridView里的图片,将该应用程序的背景换了,怎么做
- android 怎么点击出现,出现 “请稍后。。” ,当加载完后消失
- 自己为什么没想到呢。 android
- Android.jar 如何替换
- [求助]android里如何获得短信中心的号码
- 奉劝大家,别急着去更新2.3
- 自定义Layout的Scroll滚动问题
- android皮套解锁屏
- 请教一个语句如何理解?
- E/CameraService( 65): Camera HAL module not loaded
- android 截取当前屏幕的图片存储到sd卡里面 图片是黑色的!!!这个怎么解决?
public class TakePictureActivity extends Activity {
private SurfaceView surfaceView;
private Camera camera;
@Override
protected void onCreate(Bundle savedInstanceState) {
this.setTheme(android.R.style.Theme_Black_NoTitleBar_Fullscreen);
super.onCreate(savedInstanceState);
setContentView(R.layout.takepic);
//this.setRequestedOrientation(1);
surfaceView=(SurfaceView)findViewById(R.id.surfaceView1);
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceView.getHolder().addCallback(new Callback() {
public void surfaceDestroyed(SurfaceHolder holder) {
System.out.println("surfaceDestroyed()..");
}
public void surfaceCreated(SurfaceHolder holder) {
System.out.println("surfaceCreated()..");
startPreview();
}
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
});
}
@Override
protected void onResume() {
super.onResume();
//打开相机
camera=Camera.open();
System.out.println("onResume()..");
//startPreview();
}
private void startPreview(){
Display display= this.getWindowManager().getDefaultDisplay();
//预览画面
Parameters params= camera.getParameters();
//设置拍照一些参数
params.setPreviewSize(display.getWidth(), display.getHeight());//设置预览照片的大小
params.setPreviewFrameRate(3);//每秒3帧
params.setPictureFormat(PixelFormat.JPEG);//设置照片的输出格式
params.set("jpeg-quality", 85);//照片质量
params.setPictureSize(display.getWidth(), display.getHeight());//设置照片的大小
camera.setParameters(params);
//指定把预览的画面显示到
try {
camera.setPreviewDisplay(surfaceView.getHolder());
camera.startPreview();
System.out.println("开始预览....");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
protected void onPause() {
camera.release();
camera=null;
super.onPause();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_SEARCH){
camera.autoFocus(null);
return true;
}
else if(keyCode==KeyEvent.KEYCODE_CAMERA){
camera.takePicture(null, null, new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
File f=new File(Environment.getExternalStorageDirectory(),"gz1008/"+new Date().getTime()+".jpg");
try {
OutputStream out=new FileOutputStream(f);
//直接存数据
//out.write(data);
//转换成位图后调用compress来压缩保存
Bitmap img=BitmapFactory.decodeByteArray(data, 0, data.length);
img.compress(CompressFormat.JPEG, 50, out);
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//开始预览
camera.startPreview();
}
});
camera.stopPreview();
return true;
}
return super.onKeyDown(keyCode, event);
}}