如何以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。
如果我不得不猜测,那是因为专利。但是谁知道:)