Android:如何使用MediaRecorder类生成.WAV文件?

Android:如何使用MediaRecorder类生成.WAV文件?,android,audio,wav,audio-recording,mediarecorder,Android,Audio,Wav,Audio Recording,Mediarecorder,我在创建某些文件类型时遇到了一些问题 MediaRecorder myAudioRecorder=new MediaRecorder(); myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR); myAudioRecorder.setAudioEncoder(MediaRecorde

我在创建某些文件类型时遇到了一些问题

 MediaRecorder myAudioRecorder=new MediaRecorder();
 myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
 myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
 myAudioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
 myAudioRecorder.setAudioEncodingBitRate(16);

你能解释一下,为了生成常规的MP3、WAV、AAC或AMR音频文件,我需要结合使用其中的哪一个吗。现在我不确定这是否正确:(

使用MediaRecorder无法生成wav或mp3。使用MediaRecorder可以生成3gp、aac和m4a。我正在使用这些代码块从麦克风录制音频:

    if (Build.VERSION.SDK_INT <= 9) {
        // Android 2.3.2 and lower
        outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "XXX"
                + File.separator + strDate + ".3gp";
        mRecorder.setAudioSamplingRate(8000);
        mRecorder.setAudioEncodingBitRate(12200);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    } else if (Build.VERSION.SDK_INT >= 10 && Build.VERSION.SDK_INT <= 15) {
        // Android 2.3.3 - Android 4.0.4
        outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "XXX"
                + File.separator + strDate + ".m4a";
        mRecorder.setAudioSamplingRate(44100);
        mRecorder.setAudioEncodingBitRate(96000);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
    } else {
        // Android 4.1 and above
        outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "XXX"
                + File.separator + strDate + ".m4a";
        mRecorder.setAudioSamplingRate(44100);
        mRecorder.setAudioEncodingBitRate(96000);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);
    }
if(Build.VERSION.SDK\u INT=10&&Build.VERSION.SDK\u INT