Android 2.2では、コードは2.3で正常に動作しますが、MediaRecorder.start()でクラッシュします。ログとコード自体は以下のとおりです。あまり情報がないことがわかるように、ログには「startfailed-2147483648」というメッセージが表示されます。私は何年もの間努力してきましたが、これを理解することはできません、私は何が間違っているのですか?
mediaRecorder = new MediaRecorder();
try {
camera.unlock();
mediaRecorder.setCamera(camera);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mediaRecorder.setOutputFile(getOutputMediaFile(MEDIA_TYPE_VIDEO).toString());
mediaRecorder.setPreviewDisplay(cameraPreview.getHolder().getSurface());
mediaRecorder.prepare();
mediaRecorder.start(); // thats the line code fails
fightTimer.start();
}
catch (RuntimeException ex) {
Toast.makeText(this,"Sorry, camera is currently not available"+ex.toString(), 2000).show();
}
catch (IOException ex) {
Toast.makeText(this,"Sorry, camera is currently not available"+ex.toString(), 2000).show();
}
とログ
08-13 06:34:56.914: I/MediaRecorderJNI(2256): prepare: surface=0x2bb230 (identity=13)
08-13 06:34:57.764: E/MediaRecorder(2256): start failed: -2147483648