所以我一直在研究Windows的媒体播放世界,我已经开始使用DirectShow制作C#媒体播放器了。我开始使用VRM-7窗口视频渲染器,它很棒,除了它有几个小问题(多显示器,全屏)。但经过一些研究,我发现它已被弃用,我应该使用VRM9。 所以我把它更改为使用VRM9无窗口,然后发现这是一个旧帖子rofl> _<所以最后我使用的是Vista / Win7(或XP .net 3)增强型视频渲染器(EVR),它显然是最新的Microsoft视频渲染器,并且添加了所有华丽的性能/质量。 (tbh我没有注意到任何差异,但也许我需要蓝光或HQ视频来注意它。)
使用EVR除了调整视频大小外,一切正常。它真的很迟钝/波涛汹涌/泪流满面,可能与它的帧排队机制有关。
演示我的问题
现在重新启动wmp类并播放视频,同时播放单击并拖动一个角来调整大小。你会发现它非常迟钝。这是我遇到的完全相同的问题。
但是如果你选择“EVR Custom Pres。**”或EVR Sync **“调整大小工作得很漂亮!所以我试着搜索有关EVR调整大小问题以及如何解决它的任何事情但我不敢相信我有多么小可以找到。我猜“Custom Pres。”代表“Custom Presenter”,这听起来像是他们自己做的。 当您在EVR和其他EVR之间切换时,您会注意到右侧尺寸,右侧灰色的Resizer下拉。
所以基本上我不知道如何解决这个迟缓的调整大小问题,那里有没有合适的文档? VMR7 / 9有一点相当,但EVR并不多。我下载了显然有样本的DirectX SDK,但它浪费了500mb的带宽,因为它没有任何相关性。
也许有一些方法可以强制它不排队帧,如果这是问题? 如果你想要代码说出这个词,我会粘贴一些。但它真的很简单,没有什么事情发生,我确信这是EVR渲染器的一个问题。
编辑:哦,另外一件事,VLC使用什么?如果你进入vlc选项并将渲染器更改为除默认值之外的任何东西,它们都很糟糕。那么它是否使用VMR7?还是它自己的?答案 0 :(得分:1)
我需要编写自己的自定义Presenter,从http://msdn.microsoft.com/en-us/library/bb530107(VS.85).aspx的外观来看这是一项相对较大的任务。
猜猜我会看一下样本并尝试从那里开始