2015年更新:
Android正式支持MP3 - (编辑) - 但是,这仅用于解码,而不是编码.
http://developer.android.com/guide/appendix/media-formats.html
核心媒体格式:MP3•单声道/立体声8-320Kbps恒定(CBR)或可变比特率(VBR)MP3(.mp3)
(编辑) - 对于较小的文件大小,您可以使用.mp4.您可以使用以下方式进行设置:
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
Android框架上肯定有一个MP3编码器.
就像我在stackoverflow上回答的那样,你需要做的就是:
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setOutputFile(Environment.getExternalStorageDirectory()
.getAbsolutePath() + "/myrecording.mp3");
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.prepare();
recorder.start();
Run Code Online (Sandbox Code Playgroud)
这里的重要部分是setOuputFormat和setAudioEncoder.MediaRecorder如果你使用的记录播放的MP3 MediaRecorder.OutputFormat.MPEG_4和MediaRecorder.AudioEncoder.AAC在一起.
有趣的是,这个解决方案是我尝试工作的结果,我不知道为什么它的工作原理.我希望有人能在评论中对此有所了解.
编辑
正如@JohnSmith和其他一些人在评论中指出的那样,这不会对 MP3格式的音频进行编码,并且Android上没有内置的MP3编码器.
此解决方案似乎有效的原因是MediaPlayer在开始跟踪之前将编码识别为AAC(无论文件扩展名如何).因此,尽管输出文件的mime类型是audio/mp4,但编码绝对是AAC.
| 归档时间: |
|
| 查看次数: |
26585 次 |
| 最近记录: |