Android(java)学习笔记87:Android音视频MediaRecorder用法
1. Android语音录制可以通过 MediaRecorder 和 AudioRecorder:
  MediaRecorder本来是多媒体录制控件,可以同时录制视频和语音,当不指定视频源时就只录制语音(默认录制语言);AudioRecorder只能录制语音。
二者录制的区别在于,MediaRecorder固定了语音的编码格式,具体平台支持类型可以在http://developer.android.com/guide/appendix/media-formats.html这里查看,
而且使用时指定输出文件,在录制的同时系统将语音数据写入文件。
  AudioRecorder输出的是pcm,即原始音频数据,使用者需要自己读取这些数据,这样的好处是可以根据需要边录制边对音频数据处理,读取的同时也可以保存到文件进行存储。
语音的播放可以使用MediaPlayer和AudioTracker,与上面的对应,MediaPlayer可以播放各种多媒体文件,而AudioTracker只能播放pcm数据,使用者手动将数据连续写入进行播放。
2. MediaRecorder的使用:
3. AudioRecorder录制语音:
int suggestBufferSize = AudioRecord.getMinBufferSize(mSampleRate,
mChannelConfig, mAudioFormat);
mAudioRecord = new AudioRecord(AudioSource.MIC, mSampleRate,
mChannelConfig, mAudioFormat, suggestBufferSize);
mAudioRecorder.startRecording(); byte[] inByteBuf = new byte[BUF_SIZE]
while (runFlag) {
int readSize = mAudioRecord.read(inByteBuf, 0,
inByteBuf.length);
} mAudioRecorder.stop();
mAudioRecord.release();
Android(java)学习笔记87:Android音视频MediaRecorder用法的更多相关文章
- Android开发学习笔记-关于Android的消息推送以及前后台切换
		
下面是最简单的Android的消息推送的实现方法 package com.example.shownotic; import java.util.Random; import android.supp ...
 - Android 数字签名学习笔记
		
Android 数字签名学习笔记 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个permission的pro ...
 - Android动画学习笔记-Android Animation
		
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...
 - Android:日常学习笔记(6)——探究活动(4)
		
Android:日常学习笔记(6)——探究活动(4) 活动的启动模式 standard模式 standard是活动默认的启动模式,在不进行显示定义的情况下,所有活动都会自动使用这种启动模式. stan ...
 - Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
		
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
 - Android自动化学习笔记:编写MonkeyRunner脚本的几种方式
		
---------------------------------------------------------------------------------------------------- ...
 - Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例
		
---------------------------------------------------------------------------------------------------- ...
 - android开发学习笔记000
		
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...
 - Android学习笔记1 android adb启动失败问题 adb server is out of date. killing...
		
下面是Android的学习笔记,原文地址. 我是使用adb devices出现如下红字错误, 使用第一种方法方法,结果关掉豌豆荚就可以了. android adb启动失败问题 adb server i ...
 
随机推荐
- Element-ui Cascader 级联选择器 同时返回 value 和 label
			
给 cascader 组件赋值一个别名 ref="cascaderAddr" <el-form-item label="部门" prop="or ...
 - (PHP)redis Zset(有序集合 sorted set)操作
			
/** * * Zset操作 * sorted set操作 * 有序集合 * sorted set 它在set的基础上增加了一个顺序属性,这一属性在修改添加元素的时候可以指定,每次指定后,zset会自 ...
 - SpringMVC 思想介绍
			
MVC 思想简介 博客园好像不支持发布markdown的时序图, 如果你会markdown并且不太熟悉Springmvc执行流程, 照着图在Markdown上面敲一遍执行流程,这是我经历过的最快的记忆 ...
 - JSP,EL和JSTL
			
JSP,EL和JSTL 内容待添加...
 - Windows 在目录中搜索哪个文件中有指定字符串
			
findstr /s /i "string" *.* 表示,当前目录以及子目录下的所有文件中查找"string"这个字符串. *.*表示所有类型的文件. /s ...
 - 离散数学——python实现真值表和打印主范式
			
最近用python实现了真值表,经过有点儿曲折,刚开始没考虑优先级,直到前天才发现这个问题(离散数学没学好啊),用栈改了一下.话说python就是强,把列表类型当栈用,直接调用列表的pop()和app ...
 - Sublime Text 3 多行游标
			
选中要修改的地方ctrl+D ,要跳过不需要修改的选中的就用ctrl+k+d 选中要修改的地方ctrl+D,选中所有要修改的 alt+f3 ctrl+A ,然后ctrl+shift+L 按住shif ...
 - Unity 坐标
			
一. transform.position 世界坐标 transform.localposition 相对于父亲的坐标 二. 三.应用 1.物体跟随鼠标 Vector3 screenPos = Cam ...
 - jquery 更新值。。vue 如何监听?
			
size.val(5); // 改变值 //触发 input 事件 ie11 下不能用 size[0].dispatchEvent(new Event('input')); 有些浏览器 不支持.. ...
 - Poj 2096 (dp求期望 入门)
			
/ dp求期望的题. 题意:一个软件有s个子系统,会产生n种bug. 某人一天发现一个bug,这个bug属于某种bug,发生在某个子系统中. 求找到所有的n种bug,且每个子系统都找到bug,这样所要 ...