2009-07-17 12 views
5

Jaki jest najlepszy/najłatwiejszy sposób wyświetlania wideo (z dźwiękiem!) W aplikacji przy użyciu XAudio2 i Direct3D9/10?Wyświetlanie wideo w DirectX

Co najmniej musi być w stanie przesyłać strumieniowo potencjalnie większe filmy i zadbać o to, że proporcje okien mogą się różnić od filmów (np. Poprzez dodawanie skrzynek pocztowych), chociaż najlepiej podoba się możliwość osadzić wideo w scenie 3D.

Mogę oczywiście znaleźć sposób na załadowanie każdej klatki do tekstury, odrzucenie/ponowne wykorzystanie tekstur po ich renderowaniu i odtwarzanie dźwięku oddzielnie przez XAudio2, jak również pisanie programu ładującego dla co najmniej jednego formatu, ive musiałem również poradzić sobie z takimi elementami, jak synchronizacja komponentów wideo i audio, więc mam nadzieję, że dostępne jest bardziej zaawansowane rozwiązanie, a nawet gotowe, wolne z odpowiednią luką (komercyjna dystrybucja w formie binarnej, dynamiczne łączenie jest w porządku w przypadku LGPL).

+0

DirectShow nie jest opcją? Wykorzystuje Direct3D do renderowania wideo. –

Odpowiedz

7

W pakiecie Windows SDK do renderowania wideo do tekstury jest DirectShow example. Obsługuje również wyjście audio.

Ale są ograniczenia i nie mogę uczciwie nazwać to łatwym.

1

Czy spojrzałeś na Bink video? To, co wiele gier używa do odtwarzania wideo. Działa wspaniale i nie musisz kodować wszystkiego tego materiału wideo od zera.

+0

Niestety, jest to również bardzo drogie. Theora jest darmową alternatywą i jest równie dobra z obiektywnego punktu widzenia. – CodeMouse92

Powiązane problemy