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

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

代码:

  1. package demo.camera;
  2. import android.app.Activity;
  3. import android.content.Intent;
  4. import android.net.Uri;
  5. import android.os.Bundle;
  6. import android.provider.MediaStore;
  7. import android.view.View;
  8. import android.widget.Toast;
  9. /**
  10. * 被实例演示如何调用Android自带的应用来完成Audio的录入
  11. * 其实很简单,我们需要指定一个MediaStore.Audio.Media.RECORD_SOUND_ACTION的Action来启动就可以
  12. * 返回的Data数据就是我们录制的音频的URI了
  13. *
  14. * 通过上面这种方式,灵活性不够高,我们可以利用MediaRecorder类来实现自己的音频录制程序
  15. * MediaRecorder既可以用来录制音频,也可以用来录制视频
  16. * 创建了一个MediaRecorder实例后,需要调用setAudioSource和setAudioEncoder来初始化
  17. * 通常情况下,在准备录制前,我们还需要调用setOutputFormat()方法来决定使用的音频格式,同时调用
  18. * setOutputFile()来指定存放录制内容的文件
  19. *
  20. * 这几个方法的调用顺序是:setAudioSource,setOutputFormat,setAudioEncoder,setOutputFile
  21. *
  22. *
  23. *
  24. * @author Administrator
  25. *
  26. */
  27. public class AudioRecordDemo extends Activity {
  28. public void onCreate(Bundle savedInstanceState){
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.audio_record);
  31. }
  32. public void onActivityResult(int requestCode, int resultCode, Intent data){
  33. //super.onActivityResult(requestCode, resultCode, data);
  34. //这里我们就可以获取到刚刚录制的音频的Uri,可以进行播放等操作,这里显示返回的Uri
  35. if(resultCode == RESULT_OK){
  36. Uri audioPath = data.getData();
  37. Toast.makeText(this, audioPath.toString(), Toast.LENGTH_LONG).show();
  38. }
  39. }
  40. public void onClick(View v){
  41. int id = v.getId();
  42. switch(id){
  43. case R.id.btn1:
  44. //调用Android自带的音频录制应用
  45. Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
  46. startActivityForResult(intent, 0);
  47. break;
  48. case R.id.btn2:
  49. //通过MediaRecorder类来实现自己的音频录制程序
  50. Intent intent2 = new Intent();
  51. intent2.setClass(this, MyAudioRecord.class);
  52. startActivityForResult(intent2, 1);
  53. break;
  54. case R.id.btn3:
  55. //通过AudioRecord类实现自己的音频录制程序
  56. Intent intent3 = new Intent();
  57. intent3.setClass(this, MyAudioRecord2.class);
  58. startActivityForResult(intent3, 2);
  59. break;
  60. }
  61. }
  62. }

转载于:https://blog.51cto.com/whatandroid/987117

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

  1. Android多媒体学习一:Android中Image的简单实例。

    在多媒体应用中,Image是最基础的功能模块,接下来我们将看看在Android中是如何获取和存储Image的.Android内嵌的Image获取和存储功能,可以让我们对于整个媒体框架有个比较全面的了解 ...

  2. h5前端调用android拍照功能,H5调用Android拍照和摄像以及选取相册

    之前一直认为H5调用Android,H5不需要Android配合能直接实现功能.前段时间,自己做这个功能,才发现不是这么回事. H5编写 html文件里只需要标签即可实现代码,代码如下所示: 拍照 ο ...

  3. Android多媒体学习五:调用Android自带的播放器播放Audio

    Android有其自带的播放器,我们可以使用隐式Intent来调用它:通过传入一个Action为ACTION_VIEW同时,指定Data为所要播放的Audio的Uri对象,并指定格式信息,则我们就可以 ...

  4. Android Framework学习(八)之Handler消息机制(Native层)解析

    在深入解析Android中Handler消息机制一文中,我们学习了Handler消息机制的java层代码,这次我们来学习Handler消息机制的native层代码. 在Java层的消息处理机制中,Me ...

  5. Android多媒体学习三:实现自己的Camera

    Android自带的Camera应用虽然可以满足大多数情景,但是其灵活性上还有不足.但是Android允许我们定制自己的Camera. 在Android的hardware包中有一个Camera类.这个 ...

  6. Android多媒体学习六:访问网络上的Audio对应的M3U文件,实现网络音频流的播放

    Android中提供了对网络上流媒体的支持,我们可以使用MediaPlayer类来播放一个网络上的音频文件. 但是网络上的站点并不建议我们直接访问流,我们需要获取他提供的M3U文件,根据M3U文件来实 ...

  7. 深入Android系统(八)Android的资源管理

    Android的优势之一是它几乎能运行在任何尺寸的设备上,为了能让同一个apk在不同设备上正常运行,Android设计了一套资源管理系统来完成目标. Android并不是简单地将UI布局和图片进行扩大 ...

  8. 调用系统自带的程序android,Android怎么打开和调用系统自带的程序示例(06)

    public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceS ...

  9. android英语学习app实战,Android高端的翻译APP,英语学习APP制作

    Android高端的翻译APP,英语学习APP制作,学生作品 采用金山词霸的api接口进行制作 可以学单词 背单词 单词查询 单词播报 英文名句语音朗读等 界面 简洁明了 数据库仅仅使用了本地的Gre ...

最新文章

  1. ztree html写法,ztree.html
  2. atcode062D(预处理&优先队列)
  3. 计算机软件员证书用途,软考证书的五大好处(详解)
  4. 【uniapp】CSS3 的 calc() 函数使用表达式动态计算
  5. insert select带来的问题
  6. 银行不断爆雷,金融业苦日子刚刚开始
  7. 360加固一键脱壳工具2020_如何脱壳加固过的Apk并利用其API“走近数据库”
  8. python常用函数中文_【python】python常用函数
  9. Python---正则表达式
  10. jsp向servlet传输数据
  11. 求水面面积(C语言)
  12. VS2010无法调试问题解决
  13. Pytorch——把Numpy转化为Torch
  14. Java实现万年历【升级版】
  15. 自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节
  16. c语言项目研发实训,C语言实训项目表V1.0.doc
  17. HTML5教程之FileList文件列表对象的应用
  18. 上上上篇ANTV留下来的坑
  19. MarkDown 高级操作
  20. 安卓电视通过U盘安装第三方软件教程

热门文章

  1. matplotlib.pyplot 中文乱码问题解决
  2. 正确中断java线程
  3. 省一计算机考试题库Excel,计算机等级考试省一级省计算机等级考试题库.doc
  4. Oracle登陆SQL Plus,Oracle基础学习登陆SQLPLUS(一)
  5. java插件化_从零开始实现一个插件化框架(一)
  6. ice通信原理_变频开关电源工作原理,开关电源自我检修
  7. Spring Boot 发送邮件时,出现 Mail server connection failed 异常问题
  8. SpringBoot连接Redis服务出现Command timed out
  9. linux系统丢失用户环境文件夹,Linux 用户环境变量丢失故障及解决
  10. spring源码构建