博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中MediaRecorder方法录制音频
阅读量:5091 次
发布时间:2019-06-13

本文共 2054 字,大约阅读时间需要 6 分钟。

第一步:声明 private Button start;//录制 private Button stop;//停止 private MediaRecorder recorder;//录制音频 第二步:录制声音
private void startRecording(){
//初始化:设置音频录入源(MIC:指定使用麦克风,CAMCORDER:指定使用录像机) recorder.setAudioSource(MediaRecorder.AudioSource.MIC); //设置音频输出格式(THREE_GPP:3gp,MPEG_4:mp4) recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //设置声音编码格式 recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); //设置音频文件存储位置 //存储到手机的SD卡里 try {
File file=new File(Environment.getExternalStorageDirectory().getCanonicalPath(),"myRecord.3gp"); recorder.setOutputFile(file.getAbsolutePath()); //准备录制 recorder.prepare(); } catch (IOException e) {
e.printStackTrace(); } //开始录制 recorder.start(); //错误监听 recorder.setOnErrorListener(new MediaRecorder.OnErrorListener() {
@Override public void onError(MediaRecorder mr, int what, int extra) {
Toast.makeText(AudioRecordActivity.this, "录制出现未知错误", Toast.LENGTH_SHORT).show(); } }); } 第三步:停止录制
private void stopRecording() {
//停止 recorder.stop(); //重置 recorder.reset(); //释放资源 recorder.release(); } 剩余代码:
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_audio_record); initViews(); } private void initViews() {
start=(Button)findViewById(R.id.start); stop=(Button)findViewById(R.id.stop); start.setOnClickListener(this); stop.setOnClickListener(this); //创建对象 recorder=new MediaRecorder(); }
@Override public void onClick(View v) {
switch (v.getId()) {
case R.id.start: start.setEnabled(false); stop.setEnabled(true); startRecording(); break; case R.id.stop: start.setEnabled(true); stop.setEnabled(false); stopRecording(); break; } }
 
 
 

转载于:https://www.cnblogs.com/BLJworld1994/p/6180143.html

你可能感兴趣的文章
@Column标记持久化详细说明
查看>>
创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备...
查看>>
mysql8.0.13下载与安装图文教程
查看>>
站立会议08(冲刺2)
查看>>
url查询参数解析
查看>>
http://coolshell.cn/articles/10910.html
查看>>
[转]jsbsim基础概念
查看>>
DIV和SPAN的区别
查看>>
第一次使用cnblogs
查看>>
C#语法糖之 session操作类 asp.net
查看>>
2015 Multi-University Training Contest 3
查看>>
使用Gitblit 在windows 上部署你的Git Server
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
【3.1】Cookiecutter安装和使用
查看>>
【2.3】初始Django Shell
查看>>
Linux(Centos)之安装Redis及注意事项
查看>>
bzoj 1010: [HNOI2008]玩具装箱toy
查看>>
Kotlin动态图
查看>>
基元线程同步构造
查看>>