无法使用MediaCapture捕获视频,但CameraCaptureUI可以捕获视频 [英] Can't capture video using MediaCapture, but the CameraCaptureUI can capture video

查看:81
本文介绍了无法使用MediaCapture捕获视频,但CameraCaptureUI可以捕获视频的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

1。我尝试使用MediaCapture使用Logitech C920 HD Pro网络摄像头捕获但失败了。

1. I try to use MediaCapture to capture with a Logitech C920 HD Pro Webcam but failed.

2。我使用的代码可以使用较旧的Logitech网络摄像头。

2. The code I use can work with an older Logitech Webcam.

3。我发现我可以使用CameraCaptureUI使用新的Logitech C920 HD Pro网络摄像头捕获视频。

3. I find I can use CameraCaptureUI to capture video with the new Logitech C920 HD Pro Webcam.

这是我的代码:

初始化:

        var captureInitSettings = new Windows.Media.Capture.MediaCaptureInitializationSettings();

        captureInitSettings.audioDeviceId ="" ;;

        captureInitSettings.videoDeviceId ="" ;;

        captureInitSettings.streamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.audioAndVideo;

        captureInitSettings.photoCaptureSource = Windows.Media.Capture.PhotoCaptureSource.videoPreview;



        mediaCaptureMgr = new Windows.Media.Capture.MediaCapture();

          mediaCaptureMgr.initializeAsync(captureInitSettings);

        var captureInitSettings = new Windows.Media.Capture.MediaCaptureInitializationSettings();
        captureInitSettings.audioDeviceId = "";
        captureInitSettings.videoDeviceId = "";
        captureInitSettings.streamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.audioAndVideo;
        captureInitSettings.photoCaptureSource = Windows.Media.Capture.PhotoCaptureSource.videoPreview;

        mediaCaptureMgr = new Windows.Media.Capture.MediaCapture();
         mediaCaptureMgr.initializeAsync(captureInitSettings);

开始捕获:

encodingProfile =  Windows.Media.MediaProperties.MediaEncodingProfile.createWmv(Windows.Media.MediaProperties.VideoEncodingQuality.hd720p);

encodingProfile = Windows.Media.MediaProperties.MediaEncodingProfile.createWmv(Windows.Media.MediaProperties.VideoEncodingQuality.hd720p);

proxyFolder.createFileAsync(videoFileName,Windows.Storage.CreationCollisionOption.generateUniqueName).then(

       function(newFile) {

       videoStorage = newFile;

       mediaCaptureMgr.startRecordToStorageFileAsync(encodingProfile ,video(结果){

         startTimer();

                   ;    });

    });

proxyFolder.createFileAsync(videoFileName, Windows.Storage.CreationCollisionOption.generateUniqueName).then(
            function (newFile) {
            videoStorage = newFile;
            mediaCaptureMgr.startRecordToStorageFileAsync(encodingProfile, videoStorage).then(function (result) {
                startTimer();
            });
        });

调用mediaCaptureMgr.startRecordToStorageFileAsync时,它进入失败回调函数,错误是未知运行时错误。

When calling mediaCaptureMgr.startRecordToStorageFileAsync, it enters the fail callback function, the error is Unknown Runtime error.

有人知道CameraCaptureUI是如何工作的吗?或者我的代码有什么问题吗?

Does anybody know how CameraCaptureUI work? Or is there anything wrong with my code?

推荐答案

您是否尝试过以下示例:

Did you try this sample:

http://code.msdn.microsoft.com/windowsapps/Media-Capture-Sample-adf87622


这篇关于无法使用MediaCapture捕获视频,但CameraCaptureUI可以捕获视频的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆