2012-06-27 72 views
1

我已經構建了一個應用程序,它可以並行顯示兩個直接顯示圖形。此應用程序使用WPF,因此我評估了不同的解決方案,如WPFMediaKit(http://wpfmediakit.codeplex.com/)和AVCapWPF(https://wpfcap.codeplex.com/)。與WPF一起使用DirectShow時的零星錯誤窗口

這兩種解決方案通常工作正常。但有時我會得到一個灰色的錯誤窗口(它看起來很像Windows 2000),它包含一些關於CPU的信息(但是舊的CPU信息,似乎實際的CPU並不知道,當這個錯誤信息被設計時)和加載Dll,但沒有錯誤消息。窗口的標題只是「錯誤」。

的問題是偶爾出現的錯誤,所以我不知道,我是否知道所有出現,但下面的錯誤情況被稱爲:建設直接顯示圖形,導致在發生

  1. 錯誤的地方只加載一個圖形並顯示
  2. 在兩個圖形都建立之前發生錯誤,導致這兩個圖形都加載並顯示
  3. 錯誤不取決於圖中使用的過濾器。爲了渲染框架,使用不同的渲染器和源代碼過濾器,其中主要使用Montivision DemoSource。

我只能在渲染兩個圖形時產生錯誤,但也可能找不到定期產生它的可能性。

當錯誤窗口關閉時,整個應用程序完成(崩潰)。在.Net中捕捉錯誤是不可能的。它似乎來自系統庫。

錯誤窗口文本:

OS: Workstation, SP1 
CPU: GenuineIntel, Intel Pentium III Xeon, MMX @ 2490 MHz 

Module name: D:\[...]\bin\Debug\TestApp.exe 

Application data: 
VmVyc2lvbjogV2t4dGJIZHFVbTEyYkdsb0oxRmhiR3htS2xwaWUya3N 
TMlJpZW1wOVRUd3hTaU0rTXlJNE5DTTVOaVpLT3pnVkUwSXJOQzRxUE 
... (a base64 encoded list of loaded dlls) 

我希望有人知道,錯誤和避免它一個很好的解決方案。

回答

0

您是否試圖在乾淨的Windows安裝上運行應用程序,而沒有使用Montivision等?

此外,請顯示使用的DLL的列表和圖形截圖。

+0

我試過不同的Window7安裝(和不同的硬件),甚至是新的。 – Maria

+0

Montivision幾乎用於每個圖表,因爲它們提供了我需要的大部分基本過濾器,如獨立於硬件的測試源。加載的dll列表包含174個條目。使用AVCapWPF不需要圖形(圖形內部是DemoSource - > SampleGrabber,WPFMediaKit圖形是DemoSource - > VideoMixingReneder9。 – Maria