1

アンドロイドエミュレーター(アンドロイド4.1)で音声を録音しようとしています。

しかし、ボタンを押して録音を開始すると、すぐに関数から戻り、「録音済み」というメッセージをログに記録する次の行が実行されます。

次に、停止ボタンを押すと、Logcatメッセージに、メディアレコーダーが未処理のイベントで消えたことが表示されます。

もう一度ボタンを押して録音を開始すると、FATAL SIGNAL 11というエラーメッセージが表示されます。また、SDカードにアクセスして、ファイルが作成されているかどうかを確認する方法がわかりません。

以下は、チュートリアルで使用したlogCatコードです。

}

  public void start() throws IOException {
    String state = android.os.Environment.getExternalStorageState();
    if(!state.equals(android.os.Environment.MEDIA_MOUNTED))  {
        throw new IOException("SD Card is not mounted.  It is " + state + ".");
    }

    // make sure the directory we plan to store the recording in exists
    File directory = new File(path).getParentFile();
    if (!directory.exists() && !directory.mkdirs()) {
      throw new IOException("Path to file could not be created.");
    }

    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    recorder.setOutputFile(path);
    try{
    recorder.prepare();
    }
    catch(IOException e){
        Log.e("Recorder","Recording failed");
    }
    recorder.start();
  }
  /**
   * Stops a recording that has been previously started.
   */
  public void stop() throws IOException {
    recorder.stop();
    recorder.release();
  }

logCatは次のとおりです。

08-08 16:09:39.713:D / gralloc_goldfish(743):GPUエミュレーションのないエミュレーターが検出されました。

08-08 16:09:42.674:D / Recorder(743):録音済み

08-08 16:09:48.764:W / MediaRecorder(743):mediarecorderが未処理のイベントで消えました

08-08 16:13:01.613:A / libc(743):0x00000010(code = 1)での致命的なシグナル11(SIGSEGV)、スレッド743(xample.recorder)

4

2 に答える 2

3

レコーダーをリリースする前に休止することで、この問題を解決しました。

        recorder.stop();//stop recording
        recorder.reset();
        recorder.release();
于 2012-08-16T09:22:40.033 に答える
1

レコーダーの新しいインスタンスを作成するたびに、エラーは発生しません。

recorder.stop(); recorder.release(); recorder=null;

そして、次を startRecording() メソッドの最初の行にします-

recorder=new MediaRecorder();

詳細については、http://developer.android.com/guide/topics/media/audio-capture.html

于 2015-04-01T15:30:25.073 に答える