Android多媒体学习八:调用Android自带的音频录制程序,实现录制

Android中有自带的音频录制程序,我们可以通过指定一个Action为MediaStore.Audio.Media.RECORD_SOUND_ACTION的Intent来

启动它就可以了。然后在onActivityResult()方法中,获取Intent的Data,就是录制的音频对应的URI。

代码:

package demo.camera;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore;import android.view.View;import android.widget.Toast;/** * 被实例演示如何调用Android自带的应用来完成Audio的录入 * 其实很简单,我们需要指定一个MediaStore.Audio.Media.RECORD_SOUND_ACTION的Action来启动就可以 * 返回的Data数据就是我们录制的音频的URI了 *  * 通过上面这种方式,灵活性不够高,我们可以利用MediaRecorder类来实现自己的音频录制程序 * MediaRecorder既可以用来录制音频,也可以用来录制视频 * 创建了一个MediaRecorder实例后,需要调用setAudioSource和setAudioEncoder来初始化 * 通常情况下,在准备录制前,我们还需要调用setOutputFormat()方法来决定使用的音频格式,同时调用 * setOutputFile()来指定存放录制内容的文件 *  * 这几个方法的调用顺序是:setAudioSource,setOutputFormat,setAudioEncoder,setOutputFile *  *  *  * @author Administrator * */public class AudioRecordDemo extends Activity {public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.audio_record);}public void onActivityResult(int requestCode, int resultCode, Intent data){//super.onActivityResult(requestCode, resultCode, data);//这里我们就可以获取到刚刚录制的音频的Uri,可以进行播放等操作,这里显示返回的Uriif(resultCode == RESULT_OK){Uri audioPath = data.getData();Toast.makeText(this, audioPath.toString(), Toast.LENGTH_LONG).show();}}public void onClick(View v){int id = v.getId();switch(id){case R.id.btn1://调用Android自带的音频录制应用Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);startActivityForResult(intent, 0);break;case R.id.btn2://通过MediaRecorder类来实现自己的音频录制程序Intent intent2 = new Intent();intent2.setClass(this, MyAudioRecord.class);startActivityForResult(intent2, 1);break;case R.id.btn3://通过AudioRecord类实现自己的音频录制程序Intent intent3 = new Intent();intent3.setClass(this, MyAudioRecord2.class);startActivityForResult(intent3, 2);break;}}}

转自chenjie19891104的的博客(http://blog.csdn.net/chenjie19891104/article/category/756236),以

便以后学习和查询!


学习总结:

  1. 调用Android自带的音频录制应用

//Action是MediaStore.Audio.Media.RECORD_SOUND_ACTION

Intentintent=newIntent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);

startActivityForResult(intent,0);

更多相关文章

  1. Android与HTML+JS交互入门
  2. Android之防火墙功能的实现
  3. ActivityThread 源码笔记(1)
  4. Android程序入口ActivityThread和Android应用程序启动流程详解
  5. Android生命周期学习笔记
  6. 两分钟彻底让你明白Android中onInterceptTouchEvent与onTouchEve
  7. 修改Android系统属性SystemProperties.set("sys.powerctl", "shu
  8. Android开发技术周报 Issue#72
  9. 横屏和竖屏切换界面不刷新

随机推荐

  1. 从android游戏框架看其生命周期!
  2. Android(安卓)webview 调用android浏览器
  3. android sdk 下载地址
  4. Android(安卓)五大布局之(一) 线性布局和相
  5. android中的震动
  6. Android(安卓)BroadcastReceiver 简介
  7. Android中使用log4j
  8. Real Android(安卓)apps leveraging db4o
  9. android 学习笔记(一)
  10. android studio在模拟器上的中文乱码问题