0

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaRecorder.setAudioSource(int)' on a null object reference

Here is my log cat

11-02 15:04:19.184  30896-30896/com.example.tazeen.classnkk E/AndroidRuntime﹕ FATAL EXCEPTION: main
    Process: com.example.tazeen.classnkk, PID: 30896
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaRecorder.setAudioSource(int)' on a null object reference
            at com.example.tazeen.classnkk.ItemDetail_Record$1.onClick(ItemDetail_Record.java:171)
            at android.view.View.performClick(View.java:4756)
            at android.view.View$PerformClick.run(View.java:19748)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5254)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)

Error at this line myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);

here is my voice record button code

imageRecord = (ImageView) findViewById(R.id.image_Record);
        imageRecord.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                clickCount += 1;
                Log.e("clickCount ", " click !!! " + clickCount);

                if (clickCount == 1) {

                    if (vesselId == null) {

                        SimpleDateFormat s = new SimpleDateFormat("ddMMyyyyhhmmss");
                        newAudioFile = 0 + "_" + s.format(new Date()) + ".mp3";
                        Log.e(" newAudioFile ", " = " + newAudioFile);
                        outputFile = baseDir + "/classnkk_audio/" + newAudioFile;
                        Log.e("outputFile ", " = " + outputFile);

                        myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                        myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
                        myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
                        myAudioRecorder.setOutputFile(outputFile);

                        imageRecord.setImageResource(R.drawable.record);
                        try {
                            myAudioRecorder.prepare();
                            myAudioRecorder.start();
                            myChronometer.start();

                        } catch (IllegalStateException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }

                    } else if (vesselId != null) {
                        SimpleDateFormat s = new SimpleDateFormat("ddMMyyyyhhmmss");
                        newAudioFile = vesselId + "_" + s.format(new Date()) + ".mp3";
                        Log.e(" newAudioFile ", " = " + newAudioFile);
                        outputFile = baseDir + "/classnkk_audio/" + newAudioFile;
                        Log.e("outputFile ", " = " + outputFile);

                        myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                        myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
                        myAudioRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB);
                        myAudioRecorder.setOutputFile(outputFile);
                        imageRecord.setImageResource(R.drawable.record);
                        try {
                            myAudioRecorder.prepare();
                            myAudioRecorder.start();
                            myChronometer.start();

                        } catch (IllegalStateException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (IOException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                    }

                } else if (clickCount == 2) {
                    imageRecord.setImageResource(R.drawable.record_pause);
                    myAudioRecorder.stop();
                    myAudioRecorder.reset();
                    myAudioRecorder.release();
                    myAudioRecorder = null;
                    myChronometer.stop();
                    long elapsedMillis = SystemClock.elapsedRealtime() - myChronometer.getBase();
                    Log.e("elapsedMillis ", " of myChronometer !!! " + elapsedMillis);
                }

                if (clickCount == 2) {
                    imageRecord.setImageResource(R.drawable.record);
                    clickCount = 0;
                    myAudioRecorder = null;
                    myChronometer.setBase(SystemClock.elapsedRealtime());
                    Log.e("(clickCount == 3 ) ", " click !!! " + clickCount);
                }
            }
        });

Thanks in advance.

androidTag
  • 5,053
  • 7
  • 19
  • 28

0 Answers0