8

मैं अपने mediarecording के साथ एक समस्या का सामना कर रहा हूँ। मैं रिकॉर्डेड करने के लिए फ्रंट कैमरा का उपयोग करने की कोशिश कर रहा हूं। यह मुझे एक त्रुटि देता है (लेकिन पूर्वावलोकन काम कर रहा है)। जब भी मैं बैक कैमरा का उपयोग करता हूं सबकुछ ठीक काम करता है, मुझे लगता है कि यह बहुत अजीब है। समस्या क्या हो सकती है और समाधान क्या हो सकता है? मेरा कोड और त्रुटियां नीचे दिखाए गए हैं।एंड्रॉयड mediarecording त्रुटि प्रारंभ करना विफल -19 runTimeException

संपादित करें। एक वीजीए फ्रंट कैमरा के साथ रिकॉर्डिंग काम नहीं कर रहा है। यह कैसे संभव है? हालांकि एचटीसी कैमरा ऐप के साथ रिकॉर्डिंग संभव है।

अग्रिम धन्यवाद।

protected void startRecording() throws Exception 
{ 
    mrec = new MediaRecorder(); 
    mCamera.unlock(); 

    mrec.setCamera(mCamera); 


    mrec.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
    mrec.setAudioSource(MediaRecorder.AudioSource.MIC); 

    mrec.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 
    //mrec.setPreviewDisplay(surfaceHolder.getSurface()); 

    File picDirectory = new File(Environment.getExternalStorageDirectory() +"/TrouwApp"); 
    picDirectory.mkdirs(); 

    File mediaStorageDir = new File(Environment.getExternalStorageDirectory() +"/TrouwApp", "Videos"); 

    // Create the storage directory if it does not exist 
    if (! mediaStorageDir.exists()){ 
     if (! mediaStorageDir.mkdirs()){ 
      Log.d("MyCameraApp", "failed to create directory"); 
     } 
    } 

    mrec.setOutputFile(mediaStorageDir.getPath() + File.separator + date + "_" + videonr+ ".3gp"); 

    mrec.prepare(); 
    mrec.start();//line 136 

    Log.d(TAG, "Recording started!!"); 
} 

लाइनों प्रकट करने के लिए कहा:

<uses-feature android:name="android.hardware.camera" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

errorlog:

 08-25 23:25:25.332: V/MediaRecorderJNI(4989): setup 
08-25 23:25:25.362: V/MediaRecorder(4989): constructor 
08-25 23:25:25.402: V/MediaRecorder(4989): doCleanUp 
08-25 23:25:25.402: V/MediaRecorder(4989): setListener 
08-25 23:25:25.402: V/MediaRecorderJNI(4989): setMediaRecorder E: mr = mr 
08-25 23:25:25.402: V/MediaRecorderJNI(4989): setMediaRecorder X 
08-25 23:25:25.402: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.402: V/MediaRecorderJNI(4989): JNIMediaRecorderListener::setCamera 
08-25 23:25:25.402: V/MediaRecorder(4989): setCamera(0x16c2290,0x1c08dc8) 
08-25 23:25:25.402: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.402: V/MediaRecorderJNI(4989): setVideoSource(1) 
08-25 23:25:25.402: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.402: V/MediaRecorder(4989): setVideoSource(1) 
08-25 23:25:25.402: V/MediaRecorder(4989): Call init() since the media recorder is not initialized yet 
08-25 23:25:25.402: V/MediaRecorder(4989): init 
08-25 23:25:25.412: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.412: V/MediaRecorderJNI(4989): setAudioSource(1) 
08-25 23:25:25.412: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.412: V/MediaRecorder(4989): setAudioSource(1) 
08-25 23:25:25.412: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): setOutputFormat(2) 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.502: V/MediaRecorder(4989): setOutputFormat(2) 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): setVideoFrameRate(30) 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.502: V/MediaRecorder(4989): setVideoFrameRate(30) 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): setVideoSize(1920, 1088) 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.502: V/MediaRecorder(4989): setVideoSize(1920, 1088) 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): setParameter() 
08-25 23:25:25.502: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.502: V/MediaRecorder(4989): setParameters(video-param-encoding-bitrate=12000000) 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): setVideoEncoder(2) 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.512: V/MediaRecorder(4989): setVideoEncoder(2) 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): setParameter() 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.512: V/MediaRecorder(4989): setParameters(audio-param-encoding-bitrate=96000) 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): setParameter() 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.512: V/MediaRecorder(4989): setParameters(audio-param-number-of-channels=1) 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): setParameter() 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.512: V/MediaRecorder(4989): setParameters(audio-param-sampling-rate=48000) 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): setAudioEncoder(3) 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.512: V/MediaRecorder(4989): setAudioEncoder(3) 
08-25 23:25:25.512: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.542: V/MediaRecorderJNI(4989): setOutputFile 
08-25 23:25:25.542: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.542: V/MediaRecorder(4989): setOutputFile(60, 0, 0) 
08-25 23:25:25.542: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.542: V/MediaRecorderJNI(4989): prepare 
08-25 23:25:25.542: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.542: V/MediaRecorder(4989): prepare 
08-25 23:25:25.542: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.542: V/MediaRecorderJNI(4989): start 
08-25 23:25:25.552: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:25.552: V/MediaRecorder(4989): start 
08-25 23:25:25.562: E/MediaRecorder(4989): start failed: -19 
08-25 23:25:25.562: V/MediaRecorderJNI(4989): process_media_recorder_call 
08-25 23:25:25.562: E/MediaRecorder(4989): start failed. 
08-25 23:25:25.562: E/MediaRecorder(4989): try to delete broken file: /mnt/sdcard/TrouwApp/Videos/25-8-2013_0.3gp 
08-25 23:25:25.562: D/videoActivity(4989): ERROR start failed. 
08-25 23:25:25.562: D/videoActivity(4989): ERROR java.lang.RuntimeException: start failed. 
08-25 23:25:25.562: D/videoActivity(4989): ERROR java.lang.RuntimeException: start failed. 
08-25 23:25:25.562: V/MediaRecorderJNI(4989): release 
08-25 23:25:25.562: V/MediaRecorderJNI(4989): setMediaRecorder E: mr = null 
08-25 23:25:25.562: V/MediaRecorderJNI(4989): setMediaRecorder X 
08-25 23:25:25.562: V/MediaRecorder(4989): setListener 
08-25 23:25:25.562: V/MediaRecorder(4989): release 
08-25 23:25:25.562: V/MediaRecorder(4989): destructor 
08-25 23:25:25.562: D/videoActivity(4989): START RECORDING ERROR 
08-25 23:25:25.562: W/System.err(4989): java.lang.RuntimeException: start failed. 
08-25 23:25:25.572: W/System.err(4989):  at android.media.MediaRecorder._start(Native Method) 
08-25 23:25:25.572: W/System.err(4989):  at android.media.MediaRecorder.start(MediaRecorder.java:712) 
08-25 23:25:25.572: W/System.err(4989):  at com.example.trouwapp.VideoActivity.startRecording(VideoActivity.java:136) 
08-25 23:25:25.572: W/System.err(4989):  at com.example.trouwapp.VideoActivity.onClick(VideoActivity.java:246) 
08-25 23:25:25.572: W/System.err(4989):  at android.view.View.performClick(View.java:3549) 
08-25 23:25:25.572: W/System.err(4989):  at android.view.View$PerformClick.run(View.java:14393) 
08-25 23:25:25.582: W/System.err(4989):  at android.os.Handler.handleCallback(Handler.java:605) 
08-25 23:25:25.582: W/System.err(4989):  at android.os.Handler.dispatchMessage(Handler.java:92) 
08-25 23:25:25.582: W/System.err(4989):  at android.os.Looper.loop(Looper.java:154) 
08-25 23:25:25.582: W/System.err(4989):  at android.app.ActivityThread.main(ActivityThread.java:4945) 
08-25 23:25:25.582: W/System.err(4989):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-25 23:25:25.582: W/System.err(4989):  at java.lang.reflect.Method.invoke(Method.java:511) 
08-25 23:25:25.582: W/System.err(4989):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
08-25 23:25:25.582: W/System.err(4989):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
08-25 23:25:25.592: W/System.err(4989):  at dalvik.system.NativeStart.main(Native Method) 
08-25 23:25:55.582: V/MediaRecorderJNI(4989): native_reset 
08-25 23:25:55.582: V/MediaRecorderJNI(4989): getMediaRecorder E 
08-25 23:25:55.582: V/MediaRecorderJNI(4989): release 
08-25 23:25:55.582: V/MediaRecorderJNI(4989): setMediaRecorder E: mr = null 
08-25 23:25:55.582: V/MediaRecorderJNI(4989): setMediaRecorder X 
08-25 23:25:56.002: D/AndroidRuntime(4989): Shutting down VM 
08-25 23:25:56.002: W/dalvikvm(4989): threadid=1: thread exiting with uncaught exception (group=0x40ac8228)
+0

mCamera क्या है? – grant

उत्तर

19

मिले समाधान। चूंकि मैं फ्रंट कैमरा का उपयोग कर रहा हूं, मुझे फ्रंट कैमरा से कैमकॉर्डर प्रोफ़ाइल प्राप्त करने की आवश्यकता है।

mrec.setProfile(CamcorderProfile.get(1, CamcorderProfile.QUALITY_HIGH)); 
इसके बजाय इस बात का

: मैं ऐसा करके thas हासिल

mrec.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 
+8

है Camera.CameraInfo.CAMERA_FACING_FRONT 1 – jDourlens

+2

नहीं है, कैमरा आईडी और CameraInfo.facing हैं दो अलग बातें के रूप में प्रयोग पसंद करते हैं! सही आईडी प्राप्त करने के लिए आपको कैमरे के इन्फोस पर पुन: प्रयास करना चाहिए और जांचें कि कैमराइन्फो.फैसिंग CAMERA_FACING_FRONT के बराबर है। – LukaCiko

-2

इस प्रयास करें:

StartRecording = false; 

    if(mrec == null) { 
     mrec = new MediaRecorder(); 
     mCamera.unlock(); 
     mrec.setCamera(mCamera); 
     File picDirectory = new File(Environment.getExternalStorageDirectory() +"/TrouwApp"); 
     picDirectory.mkdirs(); 
     File mediaStorageDir = new File(Environment.getExternalStorageDirectory() +"/TrouwApp", "Videos"); 
     mrec.setAudioSource(MediaRecorder.AudioSource.MIC); 
     mrec.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //you forgot this 
     mrec.setOutputFile(mediaStorageDir.getPath() + File.separator + date + "_" + videonr+ ".3gp"); 
     mrec.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //you forgot this also 
     mrec.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
     mrec.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 
    } 
    if(!StartRecording) { 
    Log.d(TAG, "Recording stopped!!"); 
     try { 
      mrec.prepare(); 
      mrec.start(); 
      StartRecording = true; 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } else { 
    Log.d(TAG, "Recording started!!"); 
     StartRecording = false; 
     mrec.stop(); 
     mrec.reset(); 
     mrec.release(); 
     mrec = null; 
    }//else 
+0

यह ठीक उसी –

संबंधित मुद्दे