2

Androidのメディアレコーダーに問題があります。LG P500 で正常に動作するオーディオを録音していますが、Samsung GT - S5360 では同じコードが動作しません。start failed -2​​2 としてエラーが発生しています。

これは私が使用しているコードです:

final MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL‌​);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GP‌​P);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
try {
    recorder.prepare();
    recorder.start();
} catch (Exception e) { Log.d(TAG, "Exception : " + e); }

デバッグが原因で logcat が null になったとき。

解決策を教えてください。

4

3 に答える 3

1

おそらくそれが存在しないため、opによって提案された許可は私にとっては機能しませんでした:)

このエラーが発生する場合は、メディア レコーダーの設定方法を確認してください。私の場合、一部のデバイスでも失敗しました。Os バージョン > API 10 を実行しているすべてのデバイスに対してこれを行っていました。

mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB);       
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB);

障害のあるデバイスは JB を実行していましたが、広帯域をサポートしていないことが判明したため、raw/narrowband に変更するとうまくいきました。

mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);      
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
于 2014-10-16T10:04:46.003 に答える
-3

実際のポスターのコメントに基づいて...彼はコメントで彼の答えを提案しました。これを実際の答えに入れて、他の人に役立つことを願っています:

OPは次の許可を追加し、彼のコードは彼にとってうまく機能しました。

<uses-permission android:name="android.permission.STORAGE" />

于 2012-06-22T07:29:27.483 に答える