MediaRecorder
流程:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button mBtnStartRecorder;
private Button mBtnStopRecorder;
private MediaRecorder mediaRecorder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnStartRecorder = (Button) findViewById(R.id.button_start_recorder);
mBtnStopRecorder = (Button) findViewById(R.id.button_stop_recorder);
mBtnStartRecorder.setOnClickListener(this);
mBtnStopRecorder.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button_start_recorder:
mediaRecorder = new MediaRecorder();//初始化MediaRecorder
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置音频来源,一半来自MIC 有些来自蓝牙
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//设置音频的输出格式
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//设置音频的编码
mediaRecorder.setOutputFile(Environment.getExternalStorageDirectory()+"/myrecorder.3gp");//设置输出的文件路径
try {
mediaRecorder.prepare();//准备录音
mediaRecorder.start();//开始录音
} catch (IOException e) {
e.printStackTrace();
}
break;
case R.id.button_stop_recorder:
if (mediaRecorder!=null){
mediaRecorder.stop();//停止录音
}
break;
}
}
}