我计划将音频输入集成到笔记记录应用(https://play.google.com/store/apps/details?id=com.yocto.wenote)
我对音频输入的要求如下。从最重要到不重要列出了它们。
我们计划使用MediaRecorder
。
我经历过https://developer.android.com/guide/topics/media/media-formats,但几乎不知道,我们应该使用什么合适的“ AudioSource ,
OutputFormat and
AudioEncoder`?
您能建议我们使用什么合适的AudioSource
,OutputFormat
和AudioEncoder
吗?谢谢。
答案 0 :(得分:1)
但是使用以下配置,我能够生成OK品质的音频。 2分钟的音频长度将花费我大约500KB,我认为还不错。
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioChannels(1);
mediaRecorder.setAudioSamplingRate(8000);
mediaRecorder.setAudioEncodingBitRate(32000);
/*
mediaRecorder.setAudioChannels(1);
mediaRecorder.setAudioSamplingRate(44100);
mediaRecorder.setAudioEncodingBitRate(96000);
*/
mediaRecorder.setMaxDuration(RECORDING_MEDIA_RECORDER_MAX_DURATION);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
if (isHeAacEncoderSupported()) {
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);
} else {
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
}
} else {
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
}
对于isHeAacEncoderSupported
的实现,您可以参考How to detect whether MediaRecorder.AudioEncoder.HE_AAC is supported?