如何以mp3格式保存音频文件。为什么android没有此基本支持?

要另存为3GP:

 mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();
 mFileName += "/audiorecordtest.3gp";

 private void startRecording() {
        mRecorder = new MediaRecorder();
        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mRecorder.setOutputFile(mFileName);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

        try {
            mRecorder.prepare();
        } catch (IOException e) {
            Log.e(LOG_TAG, "prepare() failed");
        }

        mRecorder.start();
    }



我试图使用Lame将3gp文件转换为MP3,但是如果要使用
me脚,我需要NDK。我正在尝试不使用NDK(reference)进行转换。
可能的方式做到这一点?
为什么MediaRecorder.OutputFormat类在Android中没有基本的mp3支持?

最佳答案

从来没听说过。您不一定必须使用NDK自己构建Lame,但是,您可以使用预编译的.so,将其包含在内,而仅使用JNI。例如,查看this project
如果我不得不猜测,那是因为专利。但是谁知道:)

10-08 05:18