4

我注意到(在我的 Vista 64 位机器上)在 WPF MediaElement 中显示的视频的颜色与在 Windows Media Player 中播放时的颜色不同。在 MediaElement 内部,视频具有稍微不饱和的外观,对比度较低。

到目前为止我尝试过的视频是由不同的人用不同的工具制作的 WMV 视频,所以我会排除视频材料的问题。Windows Media Player 中的所有“视频设置”滑块(色相、饱和度、亮度、对比度)均采用默认值。

这就是为什么起初我怀疑我的软件存在问题,即广泛使用动画不透明度和放置在视频上的内容。

但是我已经能够使用一个简单的测试程序重现该行为,其中 XAML 如下所示:

<Window x:Class="MediaElementTest.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">

    <MediaElement Source="D:\Test\Video.wmv" />
</Window>

难道我做错了什么?有解决方法吗?

4

2 回答 2

5

由于我很确定 MediaElement 将在 XP 上使用 VMR9,在 Vista 上使用 EVR,因此您可能会看到此处解释的行为

我猜 Windows Media Player 使用 VMR7 或默认的 Video Renderer,所以它没有这种行为。或者微软已经以某种方式进行了补偿。

于 2009-08-22T21:03:40.503 回答
2

如果您的视频卡支持它,有时有一些软件选项可以解决此问题。

如果您有 NVidia 卡,请转到 NVidia 控制面板。单击选项树中的“视频”。选择显示器并单击“使用 NVidia 设置”单选按钮。在高级选项卡中,选择“动态范围 0-255”。

就是这样!

于 2009-08-24T06:41:59.350 回答