即使在android xamarin完成最长持续时间后,视频录制也不会停止

时间:2015-01-26 11:00:11

标签: c# android xamarin video-capture

我希望用户能够在我的应用中录制视频,持续时间最长为2分钟。 我确实在我的代码中提供了视频录制意图的最长持续时间,但录制器在此之后不会停止。我需要做些什么呢?

这是使用意图录制视频的代码。

private void TakeAVideo()
        {
            Intent intent = new Intent(MediaStore.ActionVideoCapture);

            RecorderFile._file = new File(RecorderFile._dir, String.Format("vm_movie_{0}.mp4", Guid.NewGuid()));

            if (IsFrontCameraAvailable) {
                intent.PutExtra ("android.intent.extras.CAMERA_FACING", 1);
            } else {
                intent.PutExtra ("android.intent.extras.CAMERA_FACING", 0);
            }
            intent.PutExtra (MediaStore.ExtraDurationLimit, 120000);
            intent.PutExtra (MediaStore.ExtraVideoQuality, 0);
            intent.PutExtra(MediaStore.ExtraOutput, Uri.FromFile(RecorderFile._file));

            StartActivityForResult(intent, 0);
        }

1 个答案:

答案 0 :(得分:0)

确定。我想到了。基本上,当我们使用intent来捕获视频时,我们应该通过No of Seconds来设置最长持续时间,当我们使用MediaRecorder进行记录时,我们应该设置最长持续时间(以毫秒为单位)。

使用intent

设置最长持续时间

intent.PutExtra (MediaStore.ExtraDurationLimit, yourDurationInSeconds);

使用MediaRecorder

设置最长持续时间

mediaRecorderObject.SetMaximumDuration(youDurationInMilliSeconds);