当OutputFormat为WEBM时,不会调用onInfo()

时间:2019-08-24 00:22:29

标签: android kotlin

我正在尝试录制一个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()
        }

0 个答案:

没有答案