嗨我想用SurfaceView和Camera類製作相機。這裏一切工作正常,除了縮放功能。當我開始使用MediaRecorder進行錄製之前單擊縮放它可以工作,但是如果我開始錄製並單擊縮放,它會崩潰。這是我的代碼。我如何去添加縮放功能到我的相機。任何幫助深表感謝。謝謝。將變焦功能添加到攝像機崩潰與致命異常
這是我的代碼smoothZoom,
zoomControls.setOnZoomInClickListener(new OnClickListener() {
public void onClick(View v) {
try
{
currentZoomLevel++;
myCamera.startSmoothZoom(currentZoomLevel);
}catch(IllegalArgumentException e)
{
currentZoomLevel--;
zoomControls.setIsZoomInEnabled(false);
}
}
});
Parameters parameters = myCamera.getParameters();
parameters.setFlashMode(getFlashModeSetting());
myCamera.setParameters(parameters);
mediaRecorder = new MediaRecorder();
myCamera.unlock();
mediaRecorder.setCamera(myCamera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setOutputFile("/sdcard/myvideo.mp4");
mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface());
這裏是我的logact,
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): FATAL EXCEPTION: main
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): java.lang.RuntimeException: start smooth zoom failed
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at android.hardware.Camera.startSmoothZoom(Native Method)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at com.camvideocorder.CamVideoCorderActivity$2.onClick(CamVideoCorderActivity.java:95)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at android.view.View.performClick(View.java:2485)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at android.view.View$PerformClick.run(View.java:9089)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at android.os.Handler.handleCallback(Handler.java:587)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at android.os.Handler.dispatchMessage(Handler.java:92)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at android.os.Looper.loop(Looper.java:123)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at android.app.ActivityThread.main(ActivityThread.java:3806)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at java.lang.reflect.Method.invokeNative(Native Method)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at java.lang.reflect.Method.invoke(Method.java:507)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): at dalvik.system.NativeStart.main(Native Method)
你可以添加logCat到你的問題嗎? – SERPRO 2012-01-12 11:05:05
我已經添加了logcat錯誤日誌 – 2012-01-12 11:06:12