Android菜鸟进阶之路4.2-音频文件每隔一段时间存储一次
来源:互联网 发布:c语言中玫瑰花数 编辑:程序博客网 时间:2024/05/21 09:21
在网上找了好久都没有找到合适的代码,曾想过用Timer,但TimeTask过程复杂,不知停止后如何继续录音。后来看到了MediaRecorder的reset() 方法,可以重置参数,继续录音,结合setMaxDuration和 MediaRecorder.OnInfoListener来监听当时间间隔达到时捕获事件变可实现音频文件每隔一段时间存储一次。
啥也不说了,奉上代码
//开始public void start(View view){ Date date = new Date(); startRecording((int) (date.getTime()/1000)); start.setEnabled(false); stop.setEnabled(true);// Toast.makeText(getApplicationContext(), "Recording started", Toast.LENGTH_LONG).show(); }//开始录音 public void startRecording(int datetime){ myAutoRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); myAutoRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); myAutoRecorder.setAudioEncoder(MediaRecorder.OutputFormat.AMR_NB); myAutoRecorder.setAudioSamplingRate(44100); myAutoRecorder.setAudioChannels(1); myAutoRecorder.setMaxDuration(30000);// set max duration outputFile = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myrecording_"+datetime+".3gp"; myAutoRecorder.setOutputFile(outputFile); myAutoRecorder.setOnInfoListener(this); try{ myAutoRecorder.prepare(); myAutoRecorder.start(); }catch (IllegalStateException e){ e.printStackTrace(); }catch (IOException e){ e.printStackTrace(); } }//listenning the max_duration_reachedpublic void onInfo(MediaRecorder mr, int what, int extra) { if (what == MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) { Log.v("AUDIOCAPTURE","Maximum Duration Reached"); File audioFile = new File(outputFile); myAutoRecorder.reset();//reset Date date = new Date(); startRecording((int) (date.getTime()/1000)); }
注意:
类实现MediaRecorder.OnInfoListener接口
0 0
- Android菜鸟进阶之路4.2-音频文件每隔一段时间存储一次
- Android菜鸟进阶之路4.3 -音频文件上传
- JVM 菜鸟进阶高手之路六(JVM每隔一小时执行一次Full GC)
- 每隔一段时间获取一次gps信息
- linux crontab & 每隔一段时间执行一次
- 安卓 每隔一段时间执行一次操作
- js setInterval每隔一段时间执行一次
- Android菜鸟进阶之路三-Fragment
- Android小菜鸟进阶之路
- Android中每隔一段时间重复执行
- SQL server循环中每隔一段时间,运行一次语句
- 每隔一段时间看一次 保证你越来越成熟
- 每隔一段时间看一次 保证你越来越…
- 每隔一段时间自动执行一次某个方法(使用线程)
- Android菜鸟进阶之路一-Android基础
- 菜鸟的进阶之路
- android菜鸟进阶之路—— HttpURLConnection 的实例
- android菜鸟进阶之路—— HttpClient 的实例
- LFS附加版——利用XShell和WinSCP辅助开发
- 用程序员的姿势抢过年的火车票
- 12.IDA-虚函数和虚表
- HDU1372----Knight Moves
- Good Bye 2013 总结
- Android菜鸟进阶之路4.2-音频文件每隔一段时间存储一次
- java并发编程--线程池初步
- tableview
- MYSQL 定时任务调用存储过程
- android 网络请求遇到的坑:connect failed: EHOSTUNREACH (No route to host)
- 标准输入、标准输出、标准出错:
- eclipse自定义扩展点
- 关于springMVC 4.x配置ajax-json 出现406错误的问题。
- poj1442blacks boxs【treap树】