Jak w temacie. Nie wiem, jak odtworzyć plik wideo z użyciem dekodowania (DivX, XviD...). Oczywiście chcę również potrafić go pauzować, włączać, pobierać informację o aktualnym czasie, itd..
Wrzuć sobie komponent MediaPlayer i tam masz sterowanie
albo uzyj czegos bardziej rozbudowanego...
pakiet DSPack
W downloadzie masz programik, który sobie radzi z otwarzaniem tych plików.
Starczy MediaPlayer - on korzysta z WMP, a więc wszystko co p[ójdzie na nim, pójdzie i w twoim programie (patrz Vplayer :P)
Wiem wiem, sorka...
Na początku próbowałem uruchomić jakiś plik przez sieć, i to właśnie to spowodowało, ze uznałem, że Media Player nie działa. Proszę o zamknięcie tematu i jednocześnie dziękuję osobom, które pisały w tym temacie ;).
Nie, sorry, jednak wcale nie jest dobrze... Jak próbuję załadować jakiś duży plik, np film 700 mB, to wywala mi coś takiego:
MMSystem296 Odtworzenie pliku na tym urządzeniu MCI jest niemożliwe. Plik może być uszkodzony albo mieć niewłaściwy format.
Plik otwieram w taki sposób:
if OpenDialog2.FileName <> '' then
begin
MediaPlayer1.DisplayRect := Panel2.ClientRect;
MediaPlayer1.FileName := OpenDialog2.FileName;
MediaPlayer1.Open;
MediaPlayer1.Play;
end;
bo plik jest za duzy...klatki beda przeskakiwac albo w ogole sie plik nie wczyta.
albo uzyj czegos bardziej rozbudowanego...
pakiet DSPack
(problem moze byc tez z kodekami)
Ale mi pomogłeś... Przynajmniej powiedz, co to jest za pakiet.
ale jestes leniwy:
http://homepages.borland.com/torry/video.htm
(google i 2 sek)
Nie potrzebuję nic przesadnie rozbudowanego, więc korzystając z podanego przez ciebie linku pobrałem komponent DCAVIPlayer v.1.0. Wszystko fajnie, bez problemu go zainstalowałem dzięki załączonej istrukcji... No i tutaj właściwie stanąłem, bo chociaż mam napisane w instrukcji, że:
procedure Play(FromFrame, ToFrame: Word; Count: Integer); - Displays a sequence of frames from the AVI clip. Call Play to display the specified sequence of frames, repeating the sequence Count times.
... to jednak gdy próbuję zrobić DCAVIPlayer1.Play(0,5000,1);, nic się nie dzieje... Wiem, że trochę ze mnie lama, ale proszę o pomoc :).
Nie wiem czy ty nie widziałes ale miałes sciagnac DSPacka a nie jakiegos DCAVIPlayer v.1.0 moze jak sciagniesz DSPAcka to Ci zadziała ten twoj program ;) pozdro
Nie wiem czy ty nie widziałes ale miałes sciagnac DSPacka a nie jakiegos DCAVIPlayer v.1.0 moze jak sciagniesz DSPAcka to Ci zadziała ten twoj program ;) pozdro
masz calkowita racje.
rozbudowany nie znaczy trudny, wrecz przeciwnie.
komponent(y) z DSPacka sa latwe w obsludze i daja pokazne mozliwosci (co nie znaczy ze masz z nich korzystac, Twoja wola czy skorzystasz czy nie)
co do tego play..... widocznie pominoles jeden szczegolik :)
//z checia bym przejrzal i pomogl ale nie ma do D6....
Nie wiem czy ty nie widziałes ale miałes sciagnac DSPacka a nie jakiegos DCAVIPlayer v.1.0 moze jak sciagniesz DSPAcka to Ci zadziała ten twoj program ;) pozdro
Fajnie, tylko że napisałem, że pobrałem inny, bo nie potrzebuję przesadnie rozbudowanych bajerów...
masz calkowita racje.
rozbudowany nie znaczy trudny, wrecz przeciwnie.
komponent(y) z DSPacka sa latwe w obsludze i daja pokazne mozliwosci (co nie znaczy ze masz z nich korzystac, Twoja wola czy skorzystasz czy nie)co do tego play..... widocznie pominoles jeden szczegolik :)
Nie powiedziałem, że jest trudny w obsłudze... Chodzi mi o to, że pewnie zajmuje więcej pamięci, a zresztą chodzi mi tylko o odtwarzanie. Wesoledi, proszę, jeśli możesz, to zajrzyj, jak uruchomić to całe PLAY (wyświetlanie na panelu).
Uzyj:
if OpenDialog2.FileName <> '' then
begin
MediaPlayer1.Display := Panel2;
MediaPlayer1.FileName := OpenDialog2.FileName;
MediaPlayer1.Open;
MediaPlayer1.Play;
end;
U mnie tak dziala w razie problemow pisz tutaj, cos sie wymysli :-)
Po co przepisałeś mój kod???? Chyba powiedziałem, że nie działa przy dużych plikach, a ty mi go przepisałes i mówisz, żebym go użył :[. Chcesz sobie nabić postów??
Pomoże mi ktoś w końcu?
No dobra, więc mam zainstalowany DSpack. I co dalej? Jak odtworzyć plik *.avi?
masz tam demo "playwin"
ale juz Ci napisze.... to leci chyba tak:
FilterGraph1.ClearGraph;
{FilterGraph1.Active := False; //jakby wywalalo blad to odkomentuj te 2 linie
FilterGraph1.Active := True;}
FilterGraph1.RenderFile(FileName);
FilterGraph1.Play;
Wiem wiem, właśnie zauważyłem :). Dzięki :).
To juz ci dziala?