MediaRecorder用于录制音频或者视频。它的状态可以见下图(一个状态机)。
下面围绕这张图展开介绍:
当用new关键字创建一个MediaRecord对象时,就进入了Initial状态。通过setXXXSource()方法设置录制源。(有多种参数,详见文档。)进入Initilized状态。调用setOutputFormat()设置输出格式,进入DataSourceConfigured状态。在DataSourceConfigure要调用的方法比较多,setXXXEncoder()设置编码器。setOutputFile()设置文件输出路径。setVideoSize()设置视频尺寸。setVideoFrameRate()设置视频帧率。setOnPreviewDisplay()设置预览用的surface.prepare()调用后进入prepared状态。start()后进入Recording状态。
可以看见,除了Released状态之外,在调用reset()方法之后,都回到了Initial状态。