MediaCapture 预览不起作用

MediaCapture preview doesn't work

这很奇怪。看起来获取简单视频流并在 XAML 表单上查看它的代码确实应该非常简单。

话不多说,我有以下,很简单,View:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Border BorderBrush="White" BorderThickness="1" Width="400" Height="400" Padding="2">
        <CaptureElement x:Name="captureElement" Loaded="captureElement_Loaded" Stretch="Uniform"/>
    </Border>
    <StackPanel HorizontalAlignment="Left" VerticalAlignment="Bottom" Orientation="Horizontal">
        <Button Content="preview start" Tapped="StartPrevTapped" x:Name="prevStart"/>
        <Button Content="preview stop" Tapped=StopPrevTapped" x:Name="prevStop" IsEnabled="False"/>
    </StackPanel>
</Grid>

以下是 3 种方法:

    MediaCapture mediaCaptureManager = new MediaCapture();
    private async void captureElement_Loaded(object sender, RoutedEventArgs e)
    {
        var cameraDevices = await DeviceInformation.FindAllAsync(DeviceClass.VideoCapture);

        var camera = cameraDevices.First();

        await mediaCaptureManager.InitializeAsync(new MediaCaptureInitializationSettings { VideoDeviceId = camera.Id });
    }

    private async void StartPrevTapped(object sender, TappedRoutedEventArgs e)
    {
        captureElement.Source = mediaCaptureManager;

        await mediaCaptureManager.StartPreviewAsync();
        prevStart.IsEnabled = false;
        prevStop.IsEnabled = true;
    }

    private async void StopPrevTapped(object sender, TappedRoutedEventArgs e)
    {
        await mediaCaptureManager.StopPreviewAsync();
        prevStart.IsEnabled = true;
        prevStop.IsEnabled = false;
    }

代码没有抛出任何异常,但是 CaptureElement 没有显示任何东西。有什么问题吗?

一些补充说明:

编辑:

奇怪的事情正在发生。这些问题似乎是由我提供的开发机器上的奇怪配置引起的,而不是代码本身。

原来问题完全出在所提供的开发机器上。在我的本地机器上测试代码时,它工作得很好。

想想看,这不是这台开发机第一次出问题了;由于某种原因,VS 中可用的 "tablet simulator" 也无法启动...