4

簡単な説明:他のアプリで音声録音がバックグラウンドですでに実行されているかどうかを確認する方法。

詳細:音声録音がネイティブアプリからバックグラウンドですでに実行されている場合:ボイスレコーダー。これで、アプリケーションの機能の1つとして音声録音を実装しました。

問題:アプリで同時に録音しようとすると、エラーが発生します:

  : E/MediaRecorder: start failed: -38
  : E/MyApp: [1162][com.sec.MyApp.multimedia.RecordMyVoice]java.lang.IllegalStateException
  : E/MyApp:    at android.media.MediaRecorder.start(Native Method)
  : E/MyApp:    at com.sec.MyApp.multimedia.RecordMyVoice.doInBackground(RecordMyVoice.java:100)

RecordMyVoice.javaの100行目のコード:

    mRecorder = new MediaRecorder();
    mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    mRecorder.setOutputFile(mFileName);
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    mRecorder.prepare();
    mRecorder.start(); //code at 100th line

しかし、問題は、すでに音声録音がバックグラウンドで実行されているためです。したがって、他のアプリで実行されている場合、音声録音を停止する方法はありますか。

どんな入力でも大いに役立ちます。

4

2 に答える 2

1

同じエラー -38 が発生しました。(AudioRecord) 経由でマイクを使用する別のバックグラウンド サービスがあることがわかりました。バックグラウンド サービスを無効にすると、機能しました。

于 2014-06-01T11:04:50.613 に答える