2009-07-17 137 views
5

在使用XAudio2和Direct3D9/10的應用程序中顯示視頻(帶聲音!)的最佳/最簡單的方法是什麼?在DirectX中顯示視頻

至少它需要能夠傳輸可能較大的視頻,並注意窗口長寬比可能與視頻不同(例如,通過添加信箱),儘管理想地說,將視頻嵌入到3D場景中。

我當然可以想出一種方法來將每個幀加載到紋理中,丟棄/重新使用一次渲染後的紋理,並通過XAudio2分別播放音頻,但也會爲至少一種格式編寫加載程序。還需要處理諸如同步視頻和音頻組件的東西,所以希望有一個更爲先進的解決方案,或者甚至是一個現成的免費的解決方案,並帶有一個合適的lisence(以二進制形式進行商業發佈,在LGPL的情況下動態鏈接就很好) )。

+0

DirectShow不是一個選項?它使用Direct3D進行視頻渲染。 – 2009-07-17 17:47:02

回答

7

在Windows SDK中,有一個DirectShow example用於將視頻渲染到紋理。它也處理音頻輸出。

但有一些限制,我不能誠實地稱它很容易。

1

你看過Bink video?它的許多遊戲用於視頻播放。很好的工作,你不必從頭開始編寫所有的視頻資料。

+0

不幸的是,它也非常昂貴。 Theora是一個免費的選擇,從客觀的角度來看也是一樣的好。 – CodeMouse92 2011-04-09 07:40:55