Android录音java空指针异常错误

时间:2014-05-21 10:23:01

标签: android

我的应用程序中的一项功能是录音功能。我正在Intent服务中进行录制。以下是代码段:

 MediaRecorder audioRecorder; 
 public void startRecording(){
          audioRecorder = new MediaRecorder();
          audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
          audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
          audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
          audioRecorder.setOutputFile(Environment.getExternalStorageDirectory().getPath() + "/sample.mp3");
          audioRecorder.setOnInfoListener(this);

          try {
              audioRecorder.prepare();
              audioRecorder.start();

          } catch (IllegalStateException e) {
              e.printStackTrace();
          } catch (IOException e) {
              e.printStackTrace();
          }

      }

      public void stopRecording(){

              audioRecorder.stop();
              audioRecorder.reset();
              audioRecorder.release();

      }

我可以毫无问题地开始录音。但是当我停止录制时,应用程序崩溃并抛出“java.lang.NullPointerException”异常。

以下是logcat消息:

05-22 18:28:17.031: E/AndroidRuntime(3249): FATAL EXCEPTION: IntentService[IntentService-669495791420-2]

05-22 18:28:17.031: E/AndroidRuntime(3249): java.lang.NullPointerException

05-22 18:28:17.031: E/AndroidRuntime(3249):     at com.test.IntentService.onMessage(IntentService.java:171)

05-22 18:28:17.031: E/AndroidRuntime(3249):     at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)

05-22 18:28:17.031: E/AndroidRuntime(3249):     at android.os.Handler.dispatchMessage(Handler.java:99)

05-22 18:28:17.031: E/AndroidRuntime(3249):     at android.os.Looper.loop(Looper.java:137)

05-22 18:28:17.031: E/AndroidRuntime(3249):     at android.os.HandlerThread.run(HandlerThread.java:60)

录音保存在外部存储器中没有任何问题,也可以播放。

知道导致该应用程序抛出此异常的原因是什么?是因为我在Intent服务上运行它吗?

提前致谢

0 个答案:

没有答案