视频录制(一)—mediaRecorder介绍

MediaRecorder用法非常简单、直接,我一边翻译官方文档,一边解释具体的知识点。

public class MediaRecorder
extends Object

java.lang.Object
↳ android.media.MediaRecorder
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();   // 通过reset()方法,你可以重复利用mediaRecorder对象,reset()会使mediaRecorder返回setAudioSource()这一步
 recorder.release(); // 释放资源后,mediaRecorder就不能重复利用了

程序可能会注册一些info和error事件,用来监测录制过程中,内部的状态更新和运行错误。通过调用setOnInfoListener(OnInfoListener) 和setOnErrorListener(OnErrorListener)来注册这两个事件。

注意:目前MediaRecorder在模拟器上不起作用。

开发指南

关于如何使用MediaRecorder录制视频的更多信息,请阅读Camera开发指南。关于如何录制音频的信息,请阅读 Audio Capture开发指南。

概要


嵌套类
class MediaRecorder.AudioEncoder
定义音频编码器
class MediaRecorder.AudioSource
定义音源
interface MediaRecorder.OnErrorListener
当录制中发生错误时调用回调的接口定义
interface MediaRecorder.OnInfoListener
调用回调用来传达录制的一些信息或者警告的接口定义
class MediaRecorder.OutputFormat
定义输出格式
class MediaRecorder.VideoEncoder
定义视频编码器
class MediaRecorder.VideoSource
定义视频源


常量
int MEDIA_ERROR_SERVER_DIED
媒体服务死机
int MEDIA_RECORDER_ERROR_UNKNOWN
未知的mediaRecorder错误
int MEDIA_RECORDER_INFO_MAX_DURATION_REACHED
最大拍摄时间已设置,并且现在已经达到。
int MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED
最大的文件大小已设置,并且现在已经达到
int MEDIA_RECORDER_INFO_UNKNOWN
未知的录制信息

Public构造方法
MediaRecorder()
默认的构造方法

你可能感兴趣的:(Android)