Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows runtime 使用Windows 8应用程序进行实时屏幕捕获_Windows Runtime_Windows 8.1_Video Capture_Screen Capture - Fatal编程技术网

Windows runtime 使用Windows 8应用程序进行实时屏幕捕获

Windows runtime 使用Windows 8应用程序进行实时屏幕捕获,windows-runtime,windows-8.1,video-capture,screen-capture,Windows Runtime,Windows 8.1,Video Capture,Screen Capture,我想在Windows 8应用程序中显示我自己的实时屏幕截图。 在其他项目中,我曾经使用屏幕捕获软件,在自己的机器上模拟带有桌面屏幕的视频输入卡(然后与其他软件录制或共享屏幕) 软件: 我已经在我的Windows8.1操作系统中用VLC安装并测试了该软件,它们工作得很好,但是如果我尝试在我的应用程序中使用它,它就是找不到输入视频源 视觉解释: 例如,在安装虚拟屏幕捕获后,如果我运行VLC并选择“媒体->打开捕获设备”,我可以选择虚拟捕获驱动程序 如果我播放它,它会显示我的桌面,因此驱动程序已正

我想在Windows 8应用程序中显示我自己的实时屏幕截图。 在其他项目中,我曾经使用屏幕捕获软件,在自己的机器上模拟带有桌面屏幕的视频输入卡(然后与其他软件录制或共享屏幕)

软件:

我已经在我的Windows8.1操作系统中用VLC安装并测试了该软件,它们工作得很好,但是如果我尝试在我的应用程序中使用它,它就是找不到输入视频源

视觉解释:

例如,在安装虚拟屏幕捕获后,如果我运行VLC并选择“媒体->打开捕获设备”,我可以选择虚拟捕获驱动程序

如果我播放它,它会显示我的桌面,因此驱动程序已正确安装在我的系统上

但是,当我在Windows 8应用程序中搜索视频捕获设备时,它就是找不到。以下是我的javascript/WinRT代码:

var deviceInfo = Windows.Devices.Enumeration.DeviceInformation;
    deviceInfo.findAllAsync(Windows.Devices.Enumeration.DeviceClass.videoCapture).then(function (devices) {

        // Add the devices to deviceList

        if (devices.length > 0) {

            for (var i = 0; i < devices.length; i++) {
                deviceList.push(devices[i]);
            }
var deviceInfo=Windows.Devices.Enumeration.DeviceInformation;
deviceInfo.findAllAsync(Windows.Devices.Enumeration.DeviceClass.videoCapture)。然后(函数(设备){
//将设备添加到deviceList
如果(设备长度>0){
对于(变量i=0;i
我在“if”行设置了一个调试检查点,发现了0个设备。你知道为什么吗?是否有其他方法检查和使用WinRT的视频捕获设备

注意:我用一个真正的视频捕获卡测试了我的代码,它找到了它,并且播放的非常好,所以问题就出在那些屏幕捕获软件上

另一个解决方案可能是自己实现一个实时屏幕捕获代码。因此,如果你知道如何从WinRT应用程序捕获我自己的屏幕,它可能会有所帮助


谢谢!!

如果我不得不猜测的话,我认为这与正在使用的驱动程序有关。如果我是你,我会调查视频捕获驱动程序的限制。我在Usb串行驱动程序方面遇到了类似的问题。你不能使用标准的usbser.sys,你必须使用更新的WinUSB.sys。另外,确保你有视频功能包括在您的应用程序清单中。谢谢您的评论。问题是我没有使用“真实”设备捕获屏幕,我使用的是屏幕捕获模拟器驱动程序,它模拟视频捕获输入(以我的屏幕作为输入源)。因此,它不使用USB驱动程序(或者我认为它不使用)…我不知道他们使用的驱动程序,我只知道它们是在DirectShow中实现的。事实上,我在控制面板的设备管理器中找不到模拟设备。