Ĺadny brzuch
Witam wszystkich! Jestem totalnie poczatkujacym w Delphi.Na podstawie tego co bylo w przedostatnim KS-Ekspert zmontowalem sobie odtwarzacz i zachcialo mi sie go przerobic. Otoz w moim zamysle uzytkownik otwiera liste plikow multimedialnychz danego katalogu ktore maja byc odtwarzane na panelu (pliki sa dodawane do listboxa). Wszystko jest pieknie tyle ze przy mojej petli otwiera od razu wszystkie pliki nie zwazajac ze nie skonczyl sie film. Mi zalezy natomiast zeby po skonczeniu pliku odtwarzal nastepny plik dopiero po nacisnieciu buttona znajdujacego sie na formie (nie chce zeby to byl messagebox) Oto moj kod
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DSPack,DirectShow9;
type
TForm1 = class(TForm)
DSVideoWindowEx21: TDSVideoWindowEx2;
FilterGraph1: TFilterGraph;
OpenDialog1: TOpenDialog;
Button1: TButton;
Button2: TButton;
ListBox1: TListBox;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
//fMP: IMediaPosition;
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
if OpenDialog1.Execute then
with OpenDialog1.Files do
begin
ListBox1.Items.Clear;
for i:=0 to Count-1 do
begin
ListBox1.Items.Add(Strings[i]);
ListBox1.Sorted:=True;
end;
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
var i:integer;
begin
for i:=0 to ListBox1.Items.Count-1 do
begin
FilterGraph1.ClearGraph;
FilterGraph1.RenderFile(ListBox1.Items[i]);
FilterGraph1.Play;
end;
end;
end.
Dzieki za wszelkie sugeistiwe i podpowiedzi
Mysle, ze powinienes dodac wzaznaczonym miejscu if'a ktory sprawdza czy juz skonczono odtwarzac (np. position=100 lub cos takiego :P )
procedure TForm1.Button4Click(Sender: TObject); var i:integer; begin for i:=0 to ListBox1.Items.Count-1 do begin FilterGraph1.ClearGraph; FilterGraph1.RenderFile(ListBox1.Items[i]); FilterGraph1.Play; // --: !!! o tu !!! :-- end; end;
PS. nie jedzcie po mnie jak nie mam racji, PLZ (nie mam DSPacka :P )
Użytkownik Kajetanek edytował ten post 12 maj 2005, 14:20
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Dzieki za wszelkie sugeistiwe i podpowiedzi
Mysle, ze powinienes dodac wzaznaczonym miejscu if'a ktory sprawdza czy juz skonczono odtwarzac (np. position=100 lub cos takiego :P )
procedure TForm1.Button4Click(Sender: TObject); var i:integer; begin for i:=0 to ListBox1.Items.Count-1 do begin FilterGraph1.ClearGraph; FilterGraph1.RenderFile(ListBox1.Items[i]); FilterGraph1.Play; // --: !!! o tu !!! :-- end; end;
PS. nie jedzcie po mnie jak nie mam racji, PLZ (nie mam DSPacka :P )
Użytkownik Kajetanek edytował ten post 12 maj 2005, 14:20