2011-09-17 44 views
-1

我正在編寫一個基本的視頻播放器程序。我在網上找到了this教程,這正是我在尋找的幫助 - 除了該教程是爲.net 2.0編寫的。如何爲.Net 4.0創建視頻播放器?

這意味着,例如,當我最初嘗試運行完成的程序時,出現與this question相同的運行時錯誤。我定說,按照公認的答案,但現在我得到一個新的錯誤

DLL 「C:\ WINDOWS \裝配\ GAC \ Microsoft.DirectX \ 1.0.2902.0__31bf3856ad364e35 \ Microsoft.DirectX。 dll' 正在嘗試OS Loader鎖內的託管執行。不要嘗試 在DllMain或圖像初始化函數 內運行託管代碼,因爲這樣做會導致應用程序掛起。

有沒有辦法將本教程代碼更新爲與.net 4.0兼容的東西?還是我最好找到一個更新的教程?

回答

1

過時的託管DirectX包裝確實會產生此警告。這是一個錯誤的警告,CLR已經加載。 Debug + Exceptions,展開Managed Debugging Assistants節點並取消LoaderLock。

+0

有沒有更好的方法來做到這一點,使用非過時的包裝? –

+0

Erm,當然,您可以添加到Windows Media Player的COM參考到您的工具箱,並將其放在窗體上。它播放的視頻非常好,需要幾分鐘的時間才能開始。只要您安裝了正確的DS過濾器,DirectShow.NET也可以正常工作。但它聽起來像你試圖做這個非無聊的方式。 –

0

我建議使用包裝FFMPEG庫的AForge.NET,以便您可以在C#中使用多種視頻文件。不要使用DirecX,使用http://www.aforgenet.com/framework/downloads.html 使用此框架構建視頻播放器非常簡單,您不會浪費時間。