4

Android アプリでオーディオを録音しようとしていますが、AAC LC エンコーディングを使用した .mp4 形式のオーディオ ファイルが必要です。デスクトップでプレイ可能。そこで、次のコードを使用して録音を試みたところ、Android で再生できました。

mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setOutputFile("/mnt/sdcard/abcapp/test.mp4");
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

しかし、PCで再生しようとしたら、mp4ファイルを再生できませんでした。VLC や KMPlayer など、すべてのメディア プレーヤーを使用して試しましたが、再生できませんでした。

最も苛立たしい点は、.mp4 で録音し、Windows Media Player を使用して再生できる「Easy Voice Recorder」のようなアプリが Play ストアにあることです。

助けてください。

ありがとう

4

1 に答える 1

6

解決策を見つけました。実際には、Android のバグと呼んでもいいかもしれません。

オーディオを使用して停止しませんでしmRecorder.stop()たが、設定しmRecorder.setMaxDuration(10000)ました。そのため、オーディオ レコーダーは自動的に停止し、オーディオを AAC にエンコードしなかったか、適切なコンテナーを適用しなかったため、適切なファイルを取得できませんでした。

を使用している場合の解決策は簡単ですmRecorder.setMaxDuration()。含まれているクラスを実装しMediaRecorder.OnInfoListener、タイムアウトのコールバックが発生したときに呼び出しますmRecorder.stop()

于 2013-02-03T15:54:56.507 に答える