在WinJS中以编程方式停止视频捕获

时间:2013-06-28 13:26:56

标签: windows-8 video-capture winjs

我有一个winJS,我正在录制视频。虽然我可以使它工作,我想在15秒后自动停止摄像机录制。目前,凸轮记录超过15秒,然后从视频中缩短15秒。我希望相机在15秒后自动关闭/停止录制。我有以下代码:

function captureVideo() {
    WinJS.log && WinJS.log("", "sample", "status");

    // Using Windows.Media.Capture.CameraCaptureUI API to capture a video
    var dialog = new Windows.Media.Capture.CameraCaptureUI();

    dialog.videoSettings.allowTrimming = true;
    dialog.videoSettings.format = Windows.Media.Capture.CameraCaptureUIVideoFormat.mp4;
    dialog.videoSettings.maxDurationInSeconds = document.getElementById("txtDuration").value;
    dialog.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.video).done(function (file) {

        if (file) {

            var videoBlobUrl = URL.createObjectURL(file, {oneTimeOnly: true});
            document.getElementById("capturedVideo").src = videoBlobUrl;
            localSettings.values[videoKey] = file.path;

        } else {
            WinJS.log && WinJS.log("No video captured.", "sample", "status");
        }
    }, function (err) {
        WinJS.log && WinJS.log(err, "sample", "error");
    });
}

1 个答案:

答案 0 :(得分:1)

您使用的CameraCaptureUI牺牲了易用性和标准界面的能力。如果您需要更多功能,例如启动和停止录制的功能,则应使用MediaCapture对象。在mediacap demo中查看我的codeSHOW。在其中我使用MediaCapture来录制音频,但您可能会想出如何录制视频而添加您的时间概念。