我想实现循环录像(例如,用于车辆的DVR设备以这种方式工作)。
MediaRecorder
具有setMaxDuration
方法:
在录制达到指定的持续时间后,将会有一条通知 发送给MediaRecorder.OnInfoListener的代码是 MEDIA_RECORDER_INFO_MAX_DURATION_REACHED并记录 停了停止异步发生,无法保证 记录器将在通知侦听器时停止。
因此,当达到“最大持续时间”时,它会停止录制,但会异步进行,如果以前的录制会话仍在进行中,该如何开始新的录制会话?
是否应该为下一个录制会话创建MediaRecorder
的新实例?可以吗?
private val infoListener: MediaRecorder.OnInfoListener =
MediaRecorder.OnInfoListener { mr,what,extra ->
when (what) {
MediaRecorder.MEDIA_RECORDER_INFO_MAX_DURATION_REACHED -> {
// I want to start a new recording session
}
...
}
}