2011-11-13 165 views
1

我一直在嘗試在Direct3D應用程序中播放視頻,並一直試圖在DirectShow的幫助下這樣做。我的問題是,我無法找到如何將幀數據放入紋理(ISampleGrabber不會安裝)。將視頻渲染到Direct3D 9.0c紋理

有沒有人知道這方面的任何方法或例子?

回答

3
  1. ISampleGrabber是Windows所有版本發佈的最後15年
  2. 尋找「微軟®DirectX®9.0 SDK更新(2004年10月)」,其中包含示例應用程序,這不正是你想要什麼:

Texture3D樣品描述

上繪製一個微軟的Direct3D紋理表面視頻。

注意此示例不支持在示例運行時更改監視器的顯示屬性 。

路徑

來源:(SDK根)\樣品\ C++ \ DirectShow的\玩家\ Texture3D

可執行文件:(SDK根)\樣品\ C++ \ DirectShow的\賓\ Texture3D.exe

更新。儘管Sample Grabber存在許多版本的Windows,但最終在最新版本的操作系統(特別是Windows Server 2008)中最終與其他過濾器qedit.dll一起被刪除。那些應用程序依賴於此API的應該考慮使用舊版SDK中的Grabber示例構建替代品。這同樣適用於那些需要這種過濾器的人,因爲互聯網上有這麼多的參考文獻和關於如何使用它來訪問媒體流的教程。

該過濾器被靜靜地移除並且沒有任何替換。微軟表示,媒體基金會是DirectShow的替代選擇和繼任者,但這無疑是無益的。

+0

我有2010年6月的SDK,它不在那裏。 – DrYap

+0

你必須得到較舊的(見答案)以獲取樣本。它稍後從SDK中刪除。 –

+0

我下載了「適用於Windows Vista和.NET Framework 3.0的Microsoft Windows SDK更新」,並且包含我需要的標題。我也發現[在線樣本](http://csclab.murraystate.edu/bob.pilgrim/info/game_stuff/DirectX%20(C++)/ Samples/C++/DirectShow/Players/Texture3D /) – DrYap