Android --- 多媒体应用(MediaRecorder 录音)

xiaoxiao2021-02-28  9

MediaRecorder 录音的几个步骤:

1 、创建 MediaRecorder 对象 ( 或者 reset) 处于 idle 状态

2 、通过 setAudioSource 设置音频来源 3 、 setOutputFormat 设置输出格式,建议 default 4 、 setAudioEncoder 设置输出编码 5 、设置输出位置 setOutputFile 6 、准备

7 、开始录制

public class MediaRecorderActivity extends AppCompatActivity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_media_recorder); findViewById(R.id.btn_start).setOnClickListener(this); findViewById(R.id.btn_stop).setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btn_start: start(); break; case R.id.btn_stop: stop(); break; } } private MediaRecorder mediaRecorder; private void start(){ if(null == mediaRecorder){ mediaRecorder = new MediaRecorder(); mediaRecorder.setOnErrorListener(onErrorListener); }else{ mediaRecorder.reset(); } //配置音频来源 mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); //设置输出格式 mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); //音频编码 mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); //设置保存位置 mediaRecorder.setOutputFile("/mnt/sdcard/re_"+System.currentTimeMillis()+".mp3"); //准备 try { mediaRecorder.prepare(); mediaRecorder.start(); } catch (IOException e) { e.printStackTrace(); } } private void stop(){ if(null !=mediaRecorder){ mediaRecorder.stop(); mediaRecorder.release(); mediaRecorder = null; } } private MediaRecorder.OnErrorListener onErrorListener = new MediaRecorder.OnErrorListener() { @Override public void onError(MediaRecorder mr, int what, int extra) { } }; }

注意添加权限

<uses-permission android:name="android.permission.RECORD_AUDIO"/> 6.0 以上需要动态申请该权限

转载请注明原文地址: https://www.6miu.com/read-1150020.html

最新回复(0)