setOutputFormat wurde in einem ungültigen Zustand aufgerufen: 4 (wo und warum)

Ich habe folgenden Code:

Log.i("xx","A");
                 media_recorder = new MediaRecorder();
Log.i("xx","B");
                 media_recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
Log.i("xx","C");
                 media_recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
Log.i("xx","D");
                 media_recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
Log.i("xx","E");
                 media_recorder.setVideoSize(320, 240);
Log.i("xx","F");
                 media_recorder.setVideoFrameRate(15);
Log.i("xx","G");
                 CamcorderProfile profile = CamcorderProfile.get(CameraInfo.CAMERA_FACING_FRONT,CamcorderProfile.QUALITY_LOW);
Log.i("xx","H");
                 media_recorder.setProfile(profile);
Log.i("xx","I");
                 media_recorder.setOutputFile(fname);

Wenn der Code ausgeführt wird, wird in meinen Protokollen Folgendes angezeigt:

02-07 16:12:47.628: I/xx(15436): A
02-07 16:12:47.628: I/xx(15436): B
02-07 16:12:47.638: I/xx(15436): C
02-07 16:12:47.638: I/xx(15436): D
02-07 16:12:47.638: I/xx(15436): E
02-07 16:12:47.638: I/xx(15436): F
02-07 16:12:47.638: I/xx(15436): G
02-07 16:12:47.638: I/xx(15436): H
02-07 16:12:47.638: E/MediaRecorder(15436): setOutputFormat called in an invalid state: 4

Das hat mich verwirrt, weil der Anruf nachsetOutputFormat wurde zwischen "C" und "D" gemacht, aber der Fehlerbericht scheint unmittelbar nach H zu stehen (erreicht nie "I"). Jetzt weiß ich nicht, was den Fehler verursacht, und bin verwirrt, wo der Fehler auftritt.

BEARBEITEN: Ich habe gerade den Code im Debugger durchgearbeitet - und sicher tritt der Fehler während des Aufrufs von setProfile (profile) auf. Es scheint also, dass der Aufruf von setOutputFormat (zwischen "C" und "D") funktioniert haben muss ok, aber dann muss setProfile selbst einen zweiten Aufruf von setOutputFormat machen, der dann fehlschlägt ... ist das, was los ist?

BEARBEITEN: Und was bedeutet eigentlich ungültiger Zustand 4? Gibt es irgendwo eine Liste, die Ihnen die Bedeutung jedes möglichen ungültigen Zustands mit der Nummer 1,2,3,4 ... usw. angibt?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage