如何在android中录制更高质量的音频文件

如何在android中录制更高质量的音频文件

本文介绍了如何在android中录制更高质量的音频文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个应用程序,可以在Android上将录制的文件播放到iphone,反之亦然。

I am creating one application which play recorded file on Android to iphone and vice-versa.

现在我正在使用,

        audioRecorder = new MediaRecorder();
        audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

文件的大小为85 kb / 15秒,质量很差。

file recorded using this code having size 85 kb /15 sec and a very poor quality.

如果我使用,

        audioRecorder = new MediaRecorder();
        audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
        audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

然后文件大小为25kb / 15秒,质量比AAC更好。
,但问题是 AMR 在iPhone中无法播放。

then file size is 25kb/15 sec and quality much better than aac.but problem is that AMR is not playable in iPhone.

因此,请建议录制质量更好,价格可承受的Android模式并且可以在iPhone上播放。

So please suggest recording schema for Android having better quality, affordable size and can play on iPhone also.

推荐答案

如果要更改音质,请增加recorder.setAudioEncodingBitRate(value)。

Increase the recorder.setAudioEncodingBitRate(value) if you want to change the quality.

recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax());
recorder.setAudioEncodingBitRate(16);
recorder.setAudioSamplingRate(44100);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();

编辑:

另一种选择是将转换器添加到您的应用。将AMR转换为AAC。

Another option is to add a converter to your app. Convert AMR to AAC.

这篇关于如何在android中录制更高质量的音频文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 14:42