我正在尝试录制一个webm视频,并且可以正常运行。我设置了setMaxDuration()但未调用onInfo()。
我使用Camera2 API。 我尝试将mpeg4的webm更改为正常。
此配置无效
mediaRecorder?.apply {
setOnInfoListener(this@Camera2VideoFragment)
setAudioSource(MediaRecorder.AudioSource.MIC)
setVideoSource(MediaRecorder.VideoSource.SURFACE)
setOutputFormat(MediaRecorder.OutputFormat.WEBM)
setOutputFile(nextVideoAbsolutePath)
setVideoEncodingBitRate(819200)
setVideoFrameRate(15)
setVideoSize(640, 480)
setVideoEncoder(MediaRecorder.VideoEncoder.VP8)
setAudioEncoder(MediaRecorder.AudioEncoder.VORBIS)
setMaxDuration(30000)
prepare()
}
此配置有效
mediaRecorder?.apply {
setOnInfoListener(this@Camera2VideoFragment)
setAudioSource(MediaRecorder.AudioSource.MIC)
setVideoSource(MediaRecorder.VideoSource.SURFACE)
setOutputFormat(MediaRecorder.OutputFormat.MPEG_4)
setOutputFile(nextVideoAbsolutePath)
setVideoEncodingBitRate(819200)
setVideoFrameRate(15)
setVideoSize(640, 480)
setVideoEncoder(MediaRecorder.VideoEncoder.H264)
setAudioEncoder(MediaRecorder.AudioEncoder.AAC)
setMaxDuration(30000)
prepare()
}