在C#中拉伸AxWindowsMediaPlayer的视频而不保持纵横比

4
使用AxWindowsMediaPlayer,我需要将视频拉伸到整个屏幕大小。使用stretchToFit = true会保持视频的宽高比,如果视频或显示器的宽高比不同,则会产生黑边。我不想要这些黑边,也不想在拉伸视频时保持宽高比。
我已经寻找了很长时间的解决方法,并阅读了许多其他人提出的问题。据我所知,没有人有任何解决方案。
*尽管已经有一个完全相同的问题发布,但我仍然发布了这个问题,因为另一个问题是一年前发布的,而且没有答案。

您正在尝试做一些没有意义的事情,因此不受支持。 - Hans Passant
我认为这是非常合理的。VLC支持拉伸视频而不保留原始宽高比。如果一个视频是16:8.95,你想要拉伸以去除0.05的黑边,那么这个功能就非常有用。(这个问题因为通知再次引起了我的注意。) - noahnu
2个回答

3
我不想要这些黑色的条子。当我拉伸视频时,我不想保持宽高比。
以下是解决方案!即使在Windows Media Player和AxWindowsMediaPlayer控件中,也可以使用K-Lite Codec Pack(仅限MEGA PACK,因为它是唯一附带ffdshow视频解码器的包)。在K-Lite Codec Pack MEGA安装过程中选择Advanced并继续下一步,重要提示:在Preferred video decoder中切换到ffdshow video decoder,我还建议您设置ffdshow audio decoder,然后继续进行下一步直到完成安装,现在您已经安装了ffdshow video decoder,并且Windows Media Player以及AxWindowsMediaPlayer控件也将使用它。安装后转到ffdshow视频解码器配置,您可以在以下位置找到它:
开始菜单文件夹 > K-Lite Codec Pack\Configuration\ffdshow video decoder 然后勾选以下设置:

enter image description here

现在视频将不会保持宽高比进行渲染,这将消除那些“黑边”并且被拉伸到窗口大小。
编辑:提醒一下,一些视频格式如mkv将默认使用ffdshow视频解码器在Windows Media Player和AxWindowsMediaPlayer组件中,其他格式Windows 7/8.x/10使用自己的编解码器进行解码,因此您需要前往开始菜单文件夹>K-Lite Codec Pack\Codec Tweak Tool。然后选中所需的设置,以下是一个例子:

enter image description here

enter image description here

关于Media Foundation的更多信息,请查看:http://www.codecguide.com/windows7_preferred_filter_tweaker.htm


2

WMP不允许在保持纵横比的同时对视频进行拉伸。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接