Odtwarzacz multimediów
patrol_x
Elo wam, artykuł kieruje do początkujących programistów. Do zrobienia odtwarzacza potrzebny jest komponent DSPack, który dodałem w załączniku. Już z samego początku dodalemy dodajemy drugą forme którą zajmiemy się na początku.
Form 2
Na formie umieszczamy komponent DSVideoWindowEx2 z zakładki DSPack, ustawiamy właściwość Caption na Wideo czy Video jak kto woli, albo inaczej. I przypisujemy formie wartość Autosize na ture.
Form 1
Teraz zajmiemy się główną formą programu. Dodajemy na forme komponenty MainMenu z zakładki standard, dwie etykiedy label z zakładki standard , OpenDialog z zakładki Dialogs, FilterGraph z zakładki DSPack, i pasek postępu DSTrackBar z zakładki DSPack.
Teraz zajmiemy się komponentem MainMenu, który jest na naszej formie. Klikamy na niego dwa razy i powinno się pokazać okienko z paskiemPiewszemu okienku wpisujemy wartość caption Plik, i powinno nam się pokazać się puste pole zmieniamy właściwość caption tego pola na Otwórz. Kikamy dwa razy na przycisk Otwórz który przedchwilą stworzyliśmy powinno pokazać nam się okienko w którym wpisujemy kod:
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
if(Form2=nil) then Form2:=TForm2.Create(Form1);
if OpenDialog1.Execute then
begin
FilterGraph1.ClearGraph;
FilterGraph1.RenderFile(OpenDialog1.FileName);
if (OpenDialog1.FilterIndex = 1) then \\Pokazuje po otwarciu formatu wideo forme z okienkiem wideo
Form2.Show
else
Form2.Hide;
Label2.Caption := OpenDialog1.FileName; \\Pokazuje ścieżke pliku
FilterGraph1.Play; \\Po otwarciu pliku nasz program automatycznie zaczyna odtwarzać
end;
end;
Teraz zajmiemy się komponentem OpenDialog klikamy na niego i patrzymy na okienko obiects inspektor i klikamy na filter później klikamy na przycisk z kropkami, i powinno pokazać nam się okienko , wpisujemy filtry tak jak na obrazku.
Teraz zajmijmy się DSTrackBar'em
Kilkamy na niego, w okienku objects inspector zaznazamy zakładke events i Szukamy pozycji FilterGraph klikamy na nią i wybieramy Pozycje FilterGraph1, następnie szukamy pozycji on timer klikamy na nią dwukrotnie i wpisujemy procedurę
Label1.Caption := format('%s / %s',
[TimeToStr(CurrentPos / (24*3600*1000)),
TimeToStr(StopPos / (24*3600*1000))]);
Zabawmy się w głównej formie
Klikamy na główną forme i w okienku objects inspector zaznaczamy zakładke events i szukamy pozycji OnClose , kilkamy na tą pozycje dwa razy i wpisujemy procedurę
FilterGraph1.ClearGraph;
FilterGraph1.Destroy;
Przejdzmy do Okienka wideo
Przejdzmy do okienka wideo tylko że teraz zajmiemy się komponentę który tam umieściliśmy. Klikamy na komponent wideo (DSVideoWindowEx21) i ustawiamy tam jak jest poniżej ustawione na rysunku(ustawiamy podkreślone na czerwono Punkty).
- AspectRatio ustawiamy na rmStretched
- FilterGraph wpisujemy tak Form1.FilterGraph1
- No ScrenSaver ustawiamy na true
No i dodajemy trzy buttony (przyciski) mogą to być SpeedButtony jak i zwykłe (różnią się tym że SpeedButtom może mieć obrazek a zwykły nie). Więc mamy trzy przyciski Stop, Pause i Play, teraz je zaprogramujmy:
Do play piszemy taką definicje
FilterGraph1.Play;
Do stop
FilterGraph1.Stop;
I do pause
FilterGraph1.Pause;
www.members.lycos.co.uk/testowyatestowya/Obrazkidoarta/odtwarzacz.php | Tu znajdziecie ten sam artykuł ze zdjęciami (które tutaj nie chodzą) i DSPackiem do ściągnięcia http://sourceforge.net/projects/dspack
zapraszam www.force.rox.pl
U mnie to nie działa -
[Error] Unit2.pas(12): Unsatisfied forward or external declaration: 'TForm2.DSVideoWindowEx21Click'
Proszę o wrzucenie screenów lub podanie linku z takim samym artykułem.
Ja rozumiem, że dawno to było dodane ale może ktoś wrzucić jeszcze raz screeny?
viruzzo
[delphi]FilterGraph1.Previous;[/delphi]
sochalewski masz rację!!!
ejj mam problem.Przycisk Stop zamiast stopować odtwarzanie tylko je pauzuje.Jaki kod trzeba mieć żeby Trackbar wracał na początek?Pomóżcie!
na www.mediaxproject.y0.pl jest lepszy odtwarzacz. try it!
Label1.Caption := format('%s / %s',
[TimeToStr(CurrentPos / (2436001000)),
TimeToStr(StopPos / (2436001000))])
niestety ten kod odwołuję się tylko do plików Wav i mp3, za jakiś czas spróbuje dopracować kod.
ech, ten sam art był z rok temu w EKSPERCIE... MASOWY PLAGIAT.
Jeśli ktoś chce, żeby pasek działał- musi dać jeszcze przed renderowaniem taki kod:
Nie pytajcie czemu- tak było w przykładach i tak działa :P . Jeśli ktoś wymaga potwierdzenia- moja wersja playera: www.tomsoft.freehost.pl/tommediaplayer110.rar
dobra wszystko działa, sorry za klopoty
patrol_x : dalej bmp :/
ok, thx za podpowiedz. macie tutaj z obrazkami www.members.lycos.co.uk/testowyatestowya/Obrazkidoarta/odtwarzacz.php nie chce mi się myśleć więc zamieszczam na serwerze dokument :D
zmień .bmp na .jpg lub .gif