Camerax 视频捕获停止,因为空对象引用 'void android.media.MediaCodec.reset()'

Camerax Video capture stopping, because of 'void android.media.MediaCodec.reset()' on a null object reference

我在捕获视频时遇到错误

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.media.MediaCodec.reset()' on a null object reference

尽管我已给予 Record_Audio 许可。 我使用的是 camerax 版本:1.0.2

// Permission check
if (ActivityCompat.checkSelfPermission(
        requireContext(),
        Manifest.permission.RECORD_AUDIO
    ) != PackageManager.PERMISSION_GRANTED
) {

    return
}

// Video Capture callback
videoCapture.startRecording(getNewVideoOutputFileOptions(requireContext().contentResolver),
    ContextCompat.getMainExecutor(requireContext()),
    object : VideoCapture.OnVideoSavedCallback {
        override fun onVideoSaved(outputFileResults: VideoCapture.OutputFileResults) {
            try {
                mediaUri = outputFileResults.savedUri
              
                val msg = "Video record succeeded: $mediaUri"
                Log.d(TAG, msg)

                   }catch (ex: java.lang.Exception) {
                ex.printStackTrace()
                Toast.makeText(
                    requireContext(),
                    "Error in capturing video!",
                    Toast.LENGTH_SHORT
                ).show()
            }
        }

        override fun onError(videoCaptureError: Int, message: String, cause: Throwable?) {
            Log.e("VIDEO_CAPTURE", "Video capture failed");
            if (cause != null) {
                cause.printStackTrace();
                Toast.makeText(
                    requireContext(),
                    "Error in capturing video!",
                    Toast.LENGTH_SHORT
                ).show()
            }
        }
    }
)

对于那些在录制视频时遇到 MediaCodec 异常问题的人。 看看 CameraX video。对我来说,它解决了问题。希望对某人有所帮助。