Android Mediarecorder-Stopp fehlgeschlagen
Ich habe ein sehr merkwürdiges Verhalten festgestellt: Manchmal stürzt mein Mediarecorder mit der Fehlermeldung "Stop failed" ab und manchmal funktioniert es einwandfrei. Liegt mein Fehler vor oder liegt ein Systemfehler vor? Ich kann nicht verstehen, was falsch ist.
<code>private void stopRecording(){ ticker.cancel(); ticker.purge(); recorder.stop(); startBtn.setText("Start"); recordInProcess = false; markList = locWriteTask.getMarkArray(); mCamera.lock(); recorder.release(); } private void startRecording(){ startBtn.setText("Stop"); recordInProcess = true; recorder = new MediaRecorder(); mCamera.unlock(); recorder.setCamera(mCamera); recorder.setPreviewDisplay(mSurfaceHolder.getSurface()); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP); recorder.setMaxDuration((int) 10000000); recorder.setVideoSize(320, 240); recorder.setVideoFrameRate(15); recorder.setOutputFile(FULL_PATH_TO_LOCAL_FILE + counter + MP4); try{ recorder.prepare(); } catch (Exception e){ finish(); } lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll); ticker = new Timer(); locWriteTask = new WriteTimeLocationTimerTask(ll); ticker.schedule(locWriteTask, 0, DELAY); recorder.start(); } </code>