2012-06-20 12 views
5

Buduję aplikację Windows Forms w VS 2010, która płynnie zwiększa lub zmniejsza szybkość odtwarzania wideo na podstawie szybkości wprowadzania danych przez użytkownika.Dynamicznie zwiększanie/zmniejszanie prędkości wideo w aplikacji formularzy systemu Windows

Próbowałem kilka dróg ..

1.) Korzystanie z klasy AudioVideoPlayback DirectX - ustawić prędkość filmu, ustawiając aktualną pozycję filmu, oparty na zegar .. i wzrosła lub zmniejszono tę wartość na podstawie danych wprowadzonych przez użytkownika. Podczas gdy to działało na moim komputerze, jest ono znacznie opóźnione w stosunku do naszych docelowych komputerów klasy niższej. Czy ktokolwiek może wymyślić skuteczniejszy sposób zwiększania/zmniejszania szybkości odtwarzania przy użyciu tej klasy?

2.) Próbowałem kontrolę Windows Media Player ActiveX i spróbował ustalaniu stopy/pozycję dynamicznie, ale to jest bardzo nerwowy i laggy nawet na moim rozwoju PC

3.) Próbowałam Komponent COM Apple QuickTime Control 2.0, który jest dostarczany z VS 2010, a także bardzo opóźniony.

4.) próbuję dowiedzieć się, jak ustawić prędkość na kontrolę obiektu Shockwave Flash, ale nie okazało się, że się jeszcze

Czy ktoś może zaproponować inne drogi do odkrycia? Po prostu muszę mieć możliwość płynnego zwiększania/zmniejszania prędkości odtwarzania wideo na podstawie danych wprowadzanych przez użytkownika bez opóźnień. Nie obchodzi mnie, w jakim formacie powinien być film, wszystkie filmy można przekonwertować na wymagany format.

Każda pomoc/pomysły zostaną docenione.

Dzięki

+0

Wypróbowałeś tę sugestię tutaj w tym poście SO - http://stackoverflow.com/a/7383241/763026. Mówi o zmianie "rate playback" –

+0

Próbowałem przykłady DirectShow.NET. Przykład, który pozwala zmienić stawkę, nie zmienia nawet stawki. –

Odpowiedz

0

Po wypróbowaniu wielu różnych formatów/bibliotek i komponentów, znalazłem formant VLC Media Player ActiveX jako najbardziej efektywną metodę spowolnienia/przyspieszenia wideo bez zauważalnego opóźnienia.

1

Ostatecznym sposobem jest dekodowanie bitmap z filmów, a uchwyt Klatki siebie.

Wypróbuj przykład CaptureNET z DirectShow.NET. Umożliwia przechwytywanie bitmap z każdej klatki. Następnie zapisz własną kontrolę odtwarzania, aby obsłużyć częstotliwość odświeżania.

Powiązane problemy