2010-05-10 122 views
1

所以我一直在尋找Windows媒體播放的世界,我已經開始製作一個使用DirectShow的C#媒體播放器。我開始使用VRM-7窗口視頻渲染器,除了有一些小問題(多顯示器,全屏)之外,它非常出色。但經過一些研究後,我發現它已被棄用,我應該使用VRM9。所以我改變它使用VRM9 windowless然後發現這是一箇舊的職位rofl> _ <所以最後我使用Vista/Win7(或XP .net 3)增強視頻渲染器(EVR),這顯然是最高達最新的微軟視頻渲染器,並且增加了所有華麗的性能/質量的東西。 (tbh我沒有注意到任何區別,但也許我需要藍光或HQ視頻來注意它)。DirectShow EVR調整窗口大小問題

隨着使用EVR一切工作正常,除了調整視頻大小。其真正的laggy /斷斷續續/可能與它的幀排隊機制有關。

爲了證明我的問題

  1. 打開Windows媒體播放器的經典。
  2. 查看 - >選項 - >播放 - >輸出
  3. 選擇了「EVR」 DirectShow視頻輸出

現在重新啓動WMP類,並播放視頻,而它的播放點擊並拖動一個角來調整其大小。你會注意到它的可怕的遲緩。這與我的問題完全相同。

但是,如果您選擇了「EVR Custom Pres。**」或EVR Sync **「調整尺寸效果非常好!所以我試着用google搜索關於EVR調整尺寸問題的任何內容以及如何修復它,但我無法相信我可以找到,我猜「Custom Pres。」代表「Custom Presenter」,這聽起來像是他們自己製作的。 當您在EVR和其他EVR的Resizer drop之間切換時,您還會注意到右手尺寸

所以基本上我不知道我該如何解決這個弱化的調整大小問題,那裏有沒有像樣的文檔?對於VMR7/9有一點點但對EVR沒有太大的幫助。我下載了顯然有樣本的DirectX SDK,但它浪費了500MB的帶寬它沒有任何相關性。

也許有辦法強制它不排隊幀如果這是問題? 如果你想要代碼說這個詞,我會粘貼一些。但它確實很簡單,沒有什麼事情發生,我確信這是EVR渲染器的問題。

編輯:哦,還有一件事,VLC使用什麼?如果您進入vlc選項並將渲染器更改爲除默認值之外的任何內容,則它們都會吮吸。那麼它是否使用VMR7?還是自己的?

+0

我看到同樣的問題,但從C++。寫你自己的自定義演示者解決您的問題? – 2010-11-10 15:15:30

回答