簡介:如何檢查語音記錄是否已在其他某個應用的後臺運行。android:媒體記錄器:啓動失敗:-38
詳細信息:如果語音錄製已經在本機應用程序:Voice recorder的後臺運行。 現在我已將語音錄製功能作爲我應用程序中的一項功能。
問題:當我在我的同時應用程序嘗試記錄,提示錯誤:在第100行
: 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:
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
但問題是,因爲已經錄音在後臺運行。 因此,是否有任何方法來停止語音錄製,如果它運行在其他應用程序。
任何輸入都會有很大的幫助。
如果它已經在運行,那麼它應該有一個原因,不是嗎?如果他想使用_your_錄製功能,可以提示用戶停止。不是一個令人滿意的答案,因此只是一個評論。也許有人有一個更好的主意。 – Fildor
您應該至少捕獲'prepare'和'start'引發的異常。 – Michael
我已經添加了try catch塊,但仍然處理程序返回錯誤消息,並且在那裏顯示吐司作爲失敗記錄。但是我想讓後臺記錄器停止。 – parul