Android录音,和实现微信长按录音效果!

分类:Android 248人阅读 评论(0) 收藏 举报


录音源码!

[java] view plain copy
  1. packagecn.com.chenzheng_java.media;
  2. importjava.io.IOException;
  3. importandroid.app.Activity;
  4. importandroid.media.MediaRecorder;
  5. importandroid.os.Bundle;
  6. /**
  7. *@description对通过android系统手机进行录音的一点说明测试
  8. *@authorchenzheng_java
  9. *@since2011/03/23
  10. */
  11. publicclassMediaRecordActivityextendsActivity{
  12. MediaRecordermediaRecorder;
  13. @Override
  14. publicvoidonCreate(BundlesavedInstanceState){
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.main);
  17. mediaRecorder=newMediaRecorder();
  18. record();
  19. }
  20. /**
  21. *开始录制
  22. */
  23. privatevoidrecord(){
  24. /**
  25. *mediaRecorder.setAudioSource设置声音来源。
  26. *MediaRecorder.AudioSource这个内部类详细的介绍了声音来源。
  27. *该类中有许多音频来源,不过最主要使用的还是手机上的麦克风,MediaRecorder.AudioSource.MIC
  28. */
  29. mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
  30. /**
  31. *mediaRecorder.setOutputFormat代表输出文件的格式。该语句必须在setAudioSource之后,在prepare之前。
  32. *OutputFormat内部类,定义了音频输出的格式,主要包含MPEG_4、THREE_GPP、RAW_AMR……等。
  33. */
  34. mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
  35. /**
  36. *mediaRecorder.setAddioEncoder()方法可以设置音频的编码
  37. *AudioEncoder内部类详细定义了两种编码:AudioEncoder.DEFAULT、AudioEncoder.AMR_NB
  38. */
  39. mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
  40. /**
  41. *设置录音之后,保存音频文件的位置
  42. */
  43. mediaRecorder.setOutputFile("file:///sdcard/myvido/a.3pg");
  44. /**
  45. *调用start开始录音之前,一定要调用prepare方法。
  46. */
  47. try{
  48. mediaRecorder.prepare();
  49. mediaRecorder.start();
  50. }catch(IllegalStateExceptione){
  51. e.printStackTrace();
  52. }catch(IOExceptione){
  53. e.printStackTrace();
  54. }
  55. }
  56. /***
  57. *此外,还有和MediaRecorder有关的几个参数与方法,我们一起来看一下:
  58. *sampleRateInHz:音频的采样频率,每秒钟能够采样的次数,采样率越高,音质越高。
  59. *给出的实例是44100、22050、11025但不限于这几个参数。例如要采集低质量的音频就可以使用4000、8000等低采样率
  60. *
  61. *channelConfig:声道设置:android支持双声道立体声和单声道。MONO单声道,STEREO立体声
  62. *
  63. *recorder.stop();停止录音
  64. *recorder.reset();重置录音,会重置到setAudioSource这一步
  65. *recorder.release();解除对录音资源的占用
  66. */
  67. }


相关的权限

[html] view plain copy
  1. <uses-permissionandroid:name="android.permission.RECORD_AUDIO"></uses-permission>

微信效果

boolean isLongClick=false;

imageButton.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
MainActivity.this.flag = "talk";
MainActivity.this.setImageButtonBackground();
System.out.println("长按。。。。。。。。。。。");

isLongClick=true;
//开始录音
return true;
}
});

imageButton.setOnTouchListener(new MyClickListener());

class MyClickListener implements OnTouchListener{
public boolean onTouch(View v, MotionEvent event) {

if(isLongClick)
switch (event.getAction()) {
case MotionEvent.ACTION_UP:
flag = "listen";
setImageButtonBackground();
System.out.println("抬起。。。。。。。。。。。。。。。。");

isLongClick=false;
break;
default:
break;
}
return false;
}

}

更多相关文章

  1. Android中Handler引起的内存泄露
  2. android Handler使用
  3. Android中如何判断内存卡是否存在
  4. android的四种点击事件的设置
  5. 【android】通话录音 -- service
  6. android实现电话录音
  7. android 音频framework的分析
  8. Android(安卓)AudioRecord录音实现
  9. Android多媒体开发高级编程

随机推荐

  1. android 动态menu
  2. Android Bitmap OOM处理
  3. Android Framework SensorService 分析
  4. Android常用颜色大全
  5. 认认真真写android——Broadcast篇
  6. Android SDK目录下的各个文件夹的作用
  7. ListView的右边滚动滑块启用方法
  8. Android学习教程之九宫格图片展示(13)
  9. Android 7.0调用相机拍照并获取图片路径
  10. Android 3DES加密