2010-09-24 63 views
1

hey, 我有一個wpf應用程序,它具有用於從屏幕左側向右滾動文本和圖像(滾動條)的雙動畫,和一部電影在同一個窗口中播放。MediaElement/MediaPlayer/MediaUriElement在加載視頻時掛起UI線程

每當視頻結束,新視頻加載時,雙動畫卡住/掛起一秒鐘,然後正常繼續播放。我認爲這是在加載視頻時阻止UI線程的控件。我試圖爲滾動條創建一個單獨的UI線程,但我沒有解決問題。我試過MediaElement,MediaPlayer和MediaUriElement控件沒有成功。

任何幫助,將不勝感激。

回答

1

這是MediaElement的一個已知問題。你幾乎不得不預先加載你的視頻...這意味着屏蔽UI線程否,或者稍後;)。

你也可以在我的WPF MediaKit項目中試試我的MediaUriElement。我儘可能地脫線,所以這不會發生。

http://wpfmediakit.codeplex.com

+0

哎,感謝您的評論!正如標題所說,我試過MediaUriElement,但得到了同樣的結果,我做錯了什麼?我只是設置「源」屬性。我應該不同地使用它嗎? – Dimor 2010-09-24 22:57:18

+0

對不起,在標題中看不到!無論如何,我在UI線程上做的唯一事情就是啓動另一個線程,並在新幀上使D3DImage無效。一切都是在UI線程和DirectShow之間異步完成的。你的電腦在CPU方面相當健壯嗎?您可以嘗試將Threading \ WorkDispatcherObject.cs中的線程優先級改爲較低,但不確定是否會解決該問題。 – 2010-09-24 23:24:15

+0

好吧,經過另一次測試,它看起來像MediaUriElement的效果很好。非常感謝! :) – Dimor 2010-09-24 23:45:47