Android Mediarecorder:如何以MPEG_4或任何音频格式添加新的编解码器

时间:2015-01-19 12:18:12

标签: java android mp4 codec voice

我用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。这对我来说非常大。 任何人都可以帮我添加新的编解码器来减小文件大小吗? 非常感谢。

1 个答案:

答案 0 :(得分:-1)

这个文件大小对我来说似乎很正常,但您可以通过更改编码比特率来控制输出文件大小。

MediaRecorder.setAudioEncodingBitRate();