Android:使用MediaRecorder录制音频

时间:2012-08-03 08:18:45

标签: android audio microphone recording mediarecorder

我正在尝试在我的应用程序中执行一项记录录音的功能,然后在录音后进行一些声音分析。

我想使用MediaRecorder库,因为我需要声音文件,它似乎是一个更简单的选项。

但是,我似乎无法根据http://developer.android.com/reference/android/media/MediaRecorder.html开始录制。 编辑:感谢@ faz15,我可以录制音频而不会崩溃。但是,我无法停止录制,因此无法获得声音片段。 我的代码如下:

package helloworld.app;


import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;


import java.io.File;
import java.io.IOException;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;


public class StartRecording extends Activity {
    final AudioRecorder recorder = new AudioRecorder("/audiometer/temp"); 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.start_recording);
        //startRecording();
        try {
            recorder.start();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
    }
    public void stopRecording(View view) {
        try {
            recorder.stop();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        Intent intent = new Intent(this, next_page.class);
        startActivity(intent);
    }
}

3 个答案:

答案 0 :(得分:1)

您是否在Android Manifest中添加了相应的权限?

答案 1 :(得分:0)

以防万一,在

中添加所需的权限

android.permission.RECORD_AUDIO

也许您的虚拟设备需要录音和录音。播放支持?编辑AVD,然后将其添加到硬件中。

答案 2 :(得分:0)

我不确定你的意思"你不能停止录音"。

但是,如果它对任何人都有帮助,recorder.release()应在stop()之后调用,并且如果您已完成对象,则必须将记录器设置为空。