我在android应用中录制用户的语音,后来我将其上传到服务器上,但是服务器仅接受.mp3,.wav和.gsm(8000 Hz,单声道)在服务器上播放声音,我使用mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)将我的文件另存为.3gp。

由于服务器是第三方,我们无法访问它,因此我需要转换或记录文件为mp3 / wav或gsm。

但我不知道如何在mp3或wav中转换或记录文件,android中有没有办法做到这一点

到目前为止,我正在使用以下代码
mRecorder = new MediaRecorder();

    mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    mRecorder.setOutputFile(mFileName);
    mRecorder.setAudioEncoder(AudioEncoder.AMR_NB);

最佳答案

list 权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
private MediaRecorder recorder ;
public static final int SAMPLING_RATE = 44100;

在您的startRecording方法中使用
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setAudioSamplingRate(SAMPLING_RATE);

File dir = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Recorder");
        try{
          if(dir.mkdir()) {
             System.out.println("Directory created");
          } else {
             System.out.println("Directory alreadt exist");
          }
        }catch(Exception e){
          e.printStackTrace();
        }

        //String str = Environment.getExternalStorageDirectory().getAbsolutePath();
        recorder.setOutputFile(dir + "/recorded_" + System.currentTimeMillis() + ".mp3");

        try {
            recorder.prepare();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        recorder.start();
    } catch (Exception e) {
        e.getMessage();
    }

关于android - 在mp3或wav中转换或创建音频文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23988721/

10-12 07:25
查看更多