我用Mediarecorder编写了一个录制语音的应用程序。
public void Record(int t)
{
final int time = t * 1000;
Thread sound = new Thread(new Runnable() {
@Override
public void run() {
if(check_start == false)
{
check_start = true;
String temp = System.currentTimeMillis() +".3gpp";
outputFile = Environment.getExternalStorageDirectory().getAbsolutePath() + "/AudioRecorder/"+ temp;
myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
myRecorder.setOutputFile(outputFile);
try
{
start();
}
catch(Exception e)
{
System.out.println("Error in start recording = " + e.toString());
}
try {
Thread.sleep(time);
}
catch (Exception e) {}
check_start = false;
try
{
stop();
}
catch(Exception e)
{
System.out.println("Error in stop recording = " + e.toString());
}
}
}
});
sound.start();
}
我发送时间到此功能以记录麦克风。 当我用这种格式录制一分钟并编码我的文件时,录制的大小是112K。这对我来说非常大。 任何人都可以帮我添加新的编解码器来减小文件大小吗? 非常感谢。
答案 0 :(得分:-1)
这个文件大小对我来说似乎很正常,但您可以通过更改编码比特率来控制输出文件大小。
MediaRecorder.setAudioEncodingBitRate();