我注意到(在我的Vista 64bit计算机上)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>
我做错了吗?有解决方法吗?
答案 0 :(得分:2)
由于我非常确定MediaElement将在XP上使用VMR9而在Vista上使用EVR,因此您可能会看到解释的行为here
我猜测Windows Media Player使用VMR7或默认的Video Renderer,因此它没有这种行为。或者微软在某种程度上给予了补偿。
答案 1 :(得分:2)
如果您的视频卡支持它,有时会有一些软件选项来解决这个问题。
如果您有NVidia卡,请转到NVidia控制面板。单击选项树中的“视频”。选择显示器,然后单击“使用NVidia设置”单选按钮。在高级选项卡中,选择“动态范围0-255”。
多数民众赞成!