Note that there are some explanatory texts on larger screens.

plurals
  1. POMediaRecorder start failed: -16 when change CamcorderProfile.QUALITY_LOW to CamcorderProfile.QUALITY_HIGH
    primarykey
    data
    text
    <blockquote> <p>Posical duplicate <a href="https://stackoverflow.com/questions/11434972/mediarecorder-start-failed-16">MediaRecorder start failed: -16</a></p> </blockquote> <p>MediaRecorder start failed: -16 when change <code>CamcorderProfile.QUALITY_LOW</code> to <code>CamcorderProfile.QUALITY_HIGH</code>. I have tried many solutions but getting the same error. </p> <p>following is the my code:</p> <pre><code>private boolean prepareVideoRecorder() { if(mMediaRecorder == null){ mMediaRecorder = new MediaRecorder(); }else{ Log.d(Constants.TAG,"MediaRecoder is Not Null"); } // Step 1: Unlock and set camera to MediaRecorder mCamera.stopPreview(); mCamera.unlock(); mMediaRecorder.setCamera(mCamera); // Step 2: Set sources mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); // Size optimalSize = new Size(320,240); // int width=320, height=240; // Parameters params = mCamera.getParameters(); // List&lt;Size&gt; sizes = params.getSupportedPreviewSizes(); // optimalSize = getOptimalPreviewSize(sizes, width, height); // params.setPreviewSize(optimalSize.width, optimalSize.height); // mMediaRecorder.setVideoSize(optimalSize.width, optimalSize.height); CamcorderProfile profile = CamcorderProfile.get(mCamSelect, CamcorderProfile.QUALITY_HIGH); if(profile == null){ Log.d(Constants.TAG, "the camcorder profile instance is null"); } // Step 3: Set a CamcorderProfile (requires API Level 8 or higher) mMediaRecorder.setProfile(profile); // Step 4: Set output file mMediaRecorder.setOutputFile(getOutputMediaFile(MEDIA_TYPE_VIDEO).toString()); // Step 5: Set the preview output mMediaRecorder.setPreviewDisplay(mPreview.getHolder().getSurface()); // Step 6: Prepare configured MediaRecorder try { mMediaRecorder.prepare(); } catch (IllegalStateException e) { Log.d("DEBUG", "IllegalStateException preparing MediaRecorder: " + e.getMessage()); releaseMediaRecorder(); return false; } catch (IOException e) { Log.d("DEBUG", "IOException preparing MediaRecorder: " + e.getMessage()); releaseMediaRecorder(); return false; } return true; } </code></pre> <p>Logcat:</p> <pre><code>04-12 11:09:14.396: V/MediaRecorderJNI(19761): start 04-12 11:09:14.396: V/MediaRecorderJNI(19761): getMediaRecorder E 04-12 11:09:14.466: E/MediaRecorder(19761): start failed: -16 04-12 11:09:14.466: V/MediaRecorderJNI(19761): process_media_recorder_call 04-12 11:09:14.466: D/AndroidRuntime(19761): Shutting down VM 04-12 11:09:14.466: W/dalvikvm(19761): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0) 04-12 11:09:14.466: E/AndroidRuntime(19761): FATAL EXCEPTION: main 04-12 11:09:14.466: E/AndroidRuntime(19761): java.lang.RuntimeException: start failed. 04-12 11:09:14.466: E/AndroidRuntime(19761): at android.media.MediaRecorder.start(Native Method) 04-12 11:09:14.466: E/AndroidRuntime(19761): at uk.org.humanfocus.hfi.RecordVideoActivity.captureButtonHandler(RecordVideoActivity.java:218) 04-12 11:09:14.466: E/AndroidRuntime(19761): at uk.org.humanfocus.hfi.RecordVideoActivity.onClick(RecordVideoActivity.java:100) 04-12 11:09:14.466: E/AndroidRuntime(19761): at android.view.View.performClick(View.java:2533) 04-12 11:09:14.466: E/AndroidRuntime(19761): at android.view.View$PerformClick.run(View.java:9320) 04-12 11:09:14.466: E/AndroidRuntime(19761): at android.os.Handler.handleCallback(Handler.java:587) 04-12 11:09:14.466: E/AndroidRuntime(19761): at android.os.Handler.dispatchMessage(Handler.java:92) 04-12 11:09:14.466: E/AndroidRuntime(19761): at android.os.Looper.loop(Looper.java:150) 04-12 11:09:14.466: E/AndroidRuntime(19761): at android.app.ActivityThread.main(ActivityThread.java:4385) 04-12 11:09:14.466: E/AndroidRuntime(19761): at java.lang.reflect.Method.invokeNative(Native Method) 04-12 11:09:14.466: E/AndroidRuntime(19761): at java.lang.reflect.Method.invoke(Method.java:507) 04-12 11:09:14.466: E/AndroidRuntime(19761): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 04-12 11:09:14.466: E/AndroidRuntime(19761): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) 04-12 11:09:14.466: E/AndroidRuntime(19761): at dalvik.system.NativeStart.main(Native Method) </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload