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,可以进行播放等操作,这里显示返回的Uri
- if(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;
- }
- }
- }
转载于:https://blog.51cto.com/whatandroid/987117
Android多媒体学习八:调用Android自带的音频录制程序,实现录制相关推荐
- Android多媒体学习一:Android中Image的简单实例。
在多媒体应用中,Image是最基础的功能模块,接下来我们将看看在Android中是如何获取和存储Image的.Android内嵌的Image获取和存储功能,可以让我们对于整个媒体框架有个比较全面的了解 ...
- h5前端调用android拍照功能,H5调用Android拍照和摄像以及选取相册
之前一直认为H5调用Android,H5不需要Android配合能直接实现功能.前段时间,自己做这个功能,才发现不是这么回事. H5编写 html文件里只需要标签即可实现代码,代码如下所示: 拍照 ο ...
- Android多媒体学习五:调用Android自带的播放器播放Audio
Android有其自带的播放器,我们可以使用隐式Intent来调用它:通过传入一个Action为ACTION_VIEW同时,指定Data为所要播放的Audio的Uri对象,并指定格式信息,则我们就可以 ...
- Android Framework学习(八)之Handler消息机制(Native层)解析
在深入解析Android中Handler消息机制一文中,我们学习了Handler消息机制的java层代码,这次我们来学习Handler消息机制的native层代码. 在Java层的消息处理机制中,Me ...
- Android多媒体学习三:实现自己的Camera
Android自带的Camera应用虽然可以满足大多数情景,但是其灵活性上还有不足.但是Android允许我们定制自己的Camera. 在Android的hardware包中有一个Camera类.这个 ...
- Android多媒体学习六:访问网络上的Audio对应的M3U文件,实现网络音频流的播放
Android中提供了对网络上流媒体的支持,我们可以使用MediaPlayer类来播放一个网络上的音频文件. 但是网络上的站点并不建议我们直接访问流,我们需要获取他提供的M3U文件,根据M3U文件来实 ...
- 深入Android系统(八)Android的资源管理
Android的优势之一是它几乎能运行在任何尺寸的设备上,为了能让同一个apk在不同设备上正常运行,Android设计了一套资源管理系统来完成目标. Android并不是简单地将UI布局和图片进行扩大 ...
- 调用系统自带的程序android,Android怎么打开和调用系统自带的程序示例(06)
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceS ...
- android英语学习app实战,Android高端的翻译APP,英语学习APP制作
Android高端的翻译APP,英语学习APP制作,学生作品 采用金山词霸的api接口进行制作 可以学单词 背单词 单词查询 单词播报 英文名句语音朗读等 界面 简洁明了 数据库仅仅使用了本地的Gre ...
最新文章
- ztree html写法,ztree.html
- atcode062D(预处理&优先队列)
- 计算机软件员证书用途,软考证书的五大好处(详解)
- 【uniapp】CSS3 的 calc() 函数使用表达式动态计算
- insert select带来的问题
- 银行不断爆雷,金融业苦日子刚刚开始
- 360加固一键脱壳工具2020_如何脱壳加固过的Apk并利用其API“走近数据库”
- python常用函数中文_【python】python常用函数
- Python---正则表达式
- jsp向servlet传输数据
- 求水面面积(C语言)
- VS2010无法调试问题解决
- Pytorch——把Numpy转化为Torch
- Java实现万年历【升级版】
- 自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第一节
- c语言项目研发实训,C语言实训项目表V1.0.doc
- HTML5教程之FileList文件列表对象的应用
- 上上上篇ANTV留下来的坑
- MarkDown 高级操作
- 安卓电视通过U盘安装第三方软件教程
热门文章
- matplotlib.pyplot 中文乱码问题解决
- 正确中断java线程
- 省一计算机考试题库Excel,计算机等级考试省一级省计算机等级考试题库.doc
- Oracle登陆SQL Plus,Oracle基础学习登陆SQLPLUS(一)
- java插件化_从零开始实现一个插件化框架(一)
- ice通信原理_变频开关电源工作原理,开关电源自我检修
- Spring Boot 发送邮件时,出现 Mail server connection failed 异常问题
- SpringBoot连接Redis服务出现Command timed out
- linux系统丢失用户环境文件夹,Linux 用户环境变量丢失故障及解决
- spring源码构建