14

Androidで記録されたファイルをiPhoneに、またはその逆に再生する1つのアプリケーションを作成しています。

今私は使用しています、

        audioRecorder = new MediaRecorder();
        audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

このコードを使用して記録されたファイルのサイズは 85 kb /15 秒で、品質は非常に低くなっています。

私が使用する場合、

        audioRecorder = new MediaRecorder();
        audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
        audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

ファイル サイズは 25kb/15 秒で、aac よりもはるかに優れた品質です。しかし、問題はAMRが iPhone で再生できないことです。

そのため、Android 用の録画スキーマが、より高品質で手頃なサイズであり、iPhone でも再生できることを提案してください。

4

2 に答える 2

18

品質を変更したい場合は、recorder.setAudioEncodingBitRate(value) を増やします。

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax());
recorder.setAudioEncodingBitRate(16);
recorder.setAudioSamplingRate(44100);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start(); 

編集:

もう 1 つのオプションは、アプリにコンバーターを追加することです。AMR を AAC に変換します。

于 2013-02-20T06:03:07.580 に答える
5

このリンクは非常に便利です: Android がサポートするメディア形式

このセクションでは、オーディオとビデオのフォーマットについて詳しく説明します。

于 2013-02-20T05:58:33.090 に答える