近期接到需求需要Camera配合MediaRecorder进行preview转视频的录制,
问题1:
从Camera切换到MediaRecorder的时候,会遇到1秒的卡顿,两种方式,1是将recorder的videoSource设置成surface,但是stopRecord的时候会报sropFailed。2是将recorder的videoSource设置成Camera并且调用setCamera的方法。目测是因为Camera在preview的时候对surface的占用引起的。
问题2:
从Camera切换Recorder的时候需要在创建recorder对象之后调用camera的unlock方法,如果不加,在部分外接摄像头的设备上是正常的,可是在部分内置摄像头的上面是会报MediaRecorder的startFailed。
总结 Android对于多媒体的封装貌似对外层抛出的异常信息都不是很明确 但是基本上解决的思路都要着手于以下几点:
1:是否释放资源(资源是否被占用)。
2:对于多媒体API的配置设备是否支持。
3:多媒体API的生命周期。