文档章节

Android 录音实现

 的书法上的
发布于 2014/06/11 09:36
字数 483
阅读 261
收藏 9

 在模拟器中无法利用电脑的声卡录音,因此这个功能必须在真机上测试。录音功能需要使用android.media.MediaRecorder来完成。使用MediaRecorder录音需要通过如下6个步骤完成:

(1)设置音频来源(一般为麦克风)。

(2)设置音频输出格式。

(3)设置音频编码方式。

(4)设置输出音频的文件名。

(5)调用MediaRecorder类的perpare方法。

(6)调用MediaRecorder类的start方法开始录音。

实现录音功能的完整代码如下:

 

[java]   view plain copy
<EMBED id=ZeroClipboardMovie_1 name=ZeroClipboardMovie_1 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=18 width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=1&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
  1. MediaRecorder mediaRecorder = new MediaRecorder();  
  2. // 第1步:设置音频来源(MIC表示麦克风)  
  3. mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);  
  4. //第2步:设置音频输出格式(默认的输出格式)  
  5. mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);  
  6. //第3步:设置音频编码方式(默认的编码方式)  
  7. mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);  
  8. //创建一个临时的音频输出文件  
  9. audioFile = File.createTempFile("record_"".amr");  
  10. //第4步:指定音频输出文件  
  11. mediaRecorder.setOutputFile(audioFile.getAbsolutePath());  
  12. //第5步:调用prepare方法  
  13. mediaRecorder.prepare();  
  14. //第6步:调用start方法开始录音  
  15. mediaRecorder.start();  


       上面的代码指定了一个临时的音频输出文件,这就意味着每次将生成不同的音频文件。文件名的格式是record_N.amr,其中N是整数。在录完音后,在SD卡的根目录会看到很多这样的文件(由录音的次数多少决定amr文件的多少)。

       停止录音可以使用MediaRecorder类的stop方法,代码如下:

[java]   view plain copy
<EMBED id=ZeroClipboardMovie_2 name=ZeroClipboardMovie_2 type=application/x-shockwave-flash align=middle pluginspage=http://www.macromedia.com/go/getflashplayer height=18 width=18 src=http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf wmode="transparent" flashvars="id=2&width=18&height=18" allowfullscreen="false" allowscriptaccess="always" bgcolor="#ffffff" quality="best" menu="false" loop="false">
  1. mediaRecorder.stop();  

 

       在生成amr文件后,可以使用MediaRecorder来播放amr文件。

© 著作权归作者所有

共有 人打赏支持
粉丝 5
博文 72
码字总数 58940
作品 0
东城
私信 提问
Android中的录音效果

其实我们要是想实现录音效果的话,大脑里第一个想的就是先把布局写好,完事以后我们在设置录音按钮点击事件。完事创建录音对象,我们还应该想到的就是设置输出格式、设置编码格式、设置输出文...

长平狐
2012/08/14
568
1
Android中的录音效果

其实我们要是想实现录音效果的话,大脑里第一个想的就是先把布局写好,完事以后我们在设置录音按钮点击事件。完事创建录音对象,我们还应该想到的就是设置输出格式、设置编码格式、设置输出文...

长平狐
2012/08/21
239
1
Android中的录音效果

其实我们要是想实现录音效果的话,大脑里第一个想的就是先把布局写好,完事以后我们在设置录音按钮点击事件。完事创建录音对象,我们还应该想到的就是设置输出格式、设置编码格式、设置输出文...

长平狐
2012/08/09
1K
0
android进阶4step2:Android音视频处理——音视频录制与播放

录音 MediaRecoder Android有一个内置的麦克风,通过它可以捕获音频和存储,或在手机进行播放。 有很多方法可以做到这一点,但最常见的方法是通 过MediaRecorder类。 MediaRecoder常用方法 ...

发条鱼
2018/12/17
0
0
android使用MediaRecorder实现录音

有四个按钮,分别是“录音”、“停止”、“播放”、“删除”。如图1所示。 图1:录音机的界面 MediaRecorder的生命周期 MediaRecorder可以用来录制音频或视频。它具有以下几个状态: Initial:...

苍海一粟
2011/11/15
0
2

没有更多内容

加载失败,请刷新页面

加载更多

如何从复杂单体应用快速迁移到微服务?

想必你已知道了微服务及其工作原理,现在是时候探讨如向微服务转变这个关键话题了。 为什么要向微服务转变 整体式(monolithic)应用程序很庞大(代码行数方面)、很复杂(功能依赖和数据等方...

架构师springboot
30分钟前
2
0
Maven与打包方式总结

一. war包 一般都是直接打成war包即可, 相关依赖都会放到 WEB-INF/lib 下. <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <version>3.0</version>......

foreach
32分钟前
2
0
JDBC详解

一、相关概念 1.什么是JDBC   JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接...

木云凌
54分钟前
3
0
分布式之延时任务方案解析

方案分析 (1)数据库轮询 思路 该方案通常是在小型项目中使用,即通过一个线程定时的去扫描数据库,通过订单时间来判断是否有超时的订单,然后进行update或delete等操作 实现 博主当年早期是用...

微笑向暖wx
58分钟前
2
0
博客目录

1.剑指offer目录 剑指offer目录 2.开放的面试题 开放面试题目录

细节探索者
58分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部