Android开发之MediaRecorder类详解
来源:互联网 发布:洛阳乾美网络 编辑:程序博客网 时间:2024/05/06 20:45
Initial:初始状态,当使用new()方法创建一个MediaRecorder对象或者调用了reset()方法时,该MediaRecorder对象处于Initial状态。在设定视频源或者音频源之后将转换为Initialized状态。另外,在除Released状态外的其它状态通过调用reset()方法都可以使MediaRecorder进入该状态。
Initialized:已初始化状态,可以通过在Initial状态调用setAudioSource()或setVideoSource()方法进入该状态。在这个状态可以通过setOutputFormat()方法设置输出格式,此时MediaRecorder转换为DataSourceConfigured状态。另外,通过reset()方法进入Initial状态。
DataSourceConfigured:数据源配置状态,这期间可以设定编码方式、输出文件、屏幕旋转、预览显示等等。可以在Initialized状态通过setOutputFormat()方法进入该状态。另外,可以通过reset()方法回到Initial状态,或者通过prepare()方法到达Prepared状态。
Prepared:就绪状态,在DataSourceConfigured状态通过prepare()方法进入该状态。在这个状态可以通过start()进入录制状态。另外,可以通过reset()方法回到Initialized状态。
Recording:录制状态,可以在Prepared状态通过调用start()方法进入该状态。另外,它可以通过stop()方法或reset()方法回到Initial状态。
Released:释放状态(官方文档给出的词叫做Idle state空闲状态),可以通过在Initial状态调用release()方法来进入这个状态,这时将会释放所有和MediaRecorder对象绑定的资源。
Error:错误状态,当错误发生的时候进入这个状态,它可以通过reset()方法进入Initial状态。
提示:与MediaPlayer相似使用MediaRecorder录音录像时需要严格遵守状态图说明中的函数调用先后顺序,在不同的状态调用不同的函数,否则会出现异常。
下面一个实例描述了的创建过程:
MediaRecorder recorder=new MediaRecorder();recorder.setAudioSource(MediaRecorder.AudioSource.MIC);recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);recorder.setOutputFile(PATH_NAME);recorder.prepare();recorder.start(); // Recording is now started...recorder.stop();recorder.reset(); // You can reuse the object by going back to setAudioSource() steprecorder.release();// Now the object cannot be reused
文章转自:点击打开链接
- Android开发之MediaRecorder类详解
- Android开发之MediaRecorder类详解
- Android开发之MediaRecorder类详解
- Android开发之MediaRecorder类详解
- Android开发之MediaRecorder类详解
- Android开发之MediaRecorder类详解
- Android开发之MediaRecorder类详解
- Android开发之MediaRecorder类详解
- Android开发之使用MediaRecorder录制声音
- Android开发之使用MediaRecorder录制视频
- Android开发之使用MediaRecorder录制视频
- Android开发之使用MediaRecorder录制声音
- Android音频开发之使用MediaRecorder录制
- Android开发之使用MediaRecorder录制声音
- Android音频开发之MediaRecorder/MediaPlayer
- Android MediaRecorder架构详解
- Android中MediaRecorder详解
- android MediaRecorder录音详解
- 常用的 Python 爬虫技巧总结
- 在form表单里不要出现submit等关键词,否则调用form.submit();会出现form.submit is not a function的错误;
- IP协议相关技术
- go语言基本类型
- c语言error中文翻译
- Android开发之MediaRecorder类详解
- [编程题] 有趣的数字
- 随机产生值不重复的一维数组,并求①最小值,②次小值,③最大值及其索引
- Ubuntu14.04 Server amd64 配置 Apache+MySQL+Django
- SPI中的极性CPOL和相位CPHA是什么以及如何设置
- <select><option>值获取方法
- 深入浅出Mybatis系列(一)---Mybatis入门
- 2015伦敦深度学习峰会笔记:来自DeepMind、Clarifai等大神的分享
- HTML style、display属性-如何设置隐藏、显示功能