Yaptığım Media Player Kodlarını Paylaşıyorum

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mrtcans
Üye
Mesajlar: 20
Kayıt: 30 Eyl 2011 11:08

Yaptığım Media Player Kodlarını Paylaşıyorum

Mesaj gönderen mrtcans »

Arkadaşlar Profesyone bir Media Player yaptım. Kodlarınıda paylaşmak istedim.
Birilerinin işine yararsa ne mutlu bana :)

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, StdCtrls, ExtCtrls, MPlayer, Buttons, Gauges, MMSystem,
ToolWin, XPMan, filectrl, jpeg;

type
TForm1 = class(TForm)
Pbekle: TSpeedButton;
poynat: TSpeedButton;
pdur: TSpeedButton;
ac: TSpeedButton;
oynat: TSpeedButton;
dur: TSpeedButton;
bekle: TSpeedButton;
onceki: TSpeedButton;
sonraki: TSpeedButton;
pses: TSpeedButton;
ses: TSpeedButton;
mp: TMediaPlayer;
od: TOpenDialog;
t1: TTimer;
ilerlet: TProgressBar;
tb: TScrollBar;
tahta: TPanel;
Image1: TImage;
Label1: TLabel;
p1: TPanel;
lb2: TListBox;
XPManifest1: TXPManifest;
lb: TListBox;
pm: TPopupMenu;
Sil1: TMenuItem;
Oynat1: TMenuItem;
N1: TMenuItem;
pm2: TPopupMenu;
amEkran1: TMenuItem;
A1: TMenuItem;
N2: TMenuItem;
NormalEkran1: TMenuItem;
N3: TMenuItem;
k1: TMenuItem;
perde: TPanel;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
procedure tbChange(Sender: TObject);
procedure acClick(Sender: TObject);
procedure odCanClose(Sender: TObject; var CanClose: Boolean);
procedure k1Click(Sender: TObject);
procedure t1Timer(Sender: TObject);
procedure ilerletMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ilerletMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure oynatClick(Sender: TObject);
procedure bekleClick(Sender: TObject);
procedure durClick(Sender: TObject);
procedure sonrakiClick(Sender: TObject);
procedure A1Click(Sender: TObject);
function SetWaveVolume(const AVolume: DWORD): Boolean;
procedure sesClick(Sender: TObject);
procedure psesClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure lbMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure lbMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure lbDblClick(Sender: TObject);
procedure Oynat1Click(Sender: TObject);
procedure lbMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure pm2Popup(Sender: TObject);
procedure FormDblClick(Sender: TObject);
procedure FormClick(Sender: TObject);
procedure tuslar1;
procedure tuslar2;
procedure oncekiClick(Sender: TObject);
procedure lbClick(Sender: TObject);
procedure Image6Click(Sender: TObject);
procedure Image5Click(Sender: TObject);
procedure Image4Click(Sender: TObject);
procedure Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image3MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image2DblClick(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
ekran:string;
ilet:byte;
tarafx,tarafy:integer;

implementation

{$R *.dfm}
procedure TForm1.tuslar1;
begin
pbekle.Visible:=false; dur.Visible:=true;
pdur.Visible:=false; poynat.Visible:=true;
oynat.Visible:=false; bekle.Visible:=true;
ilerlet.Max:=mp.Length;
end;

procedure TForm1.tuslar2;
begin
bekle.Visible:=false; pdur.Visible:=true;
dur.Visible:=false; oynat.Visible:=true;
poynat.Visible:=false; pbekle.Visible:=true;
end;

procedure TForm1.acClick(Sender: TObject);
begin od.Execute; end;

procedure TForm1.odCanClose(Sender: TObject; var CanClose: Boolean);
var i:integer;
begin
if od.FileName='' then exit;
lb.Clear; lb2.Clear;
lb2.Items.AddStrings(od.Files);
for i:=0 to od.Files.Count-1 do
lb.Items.Add(Extractfilename(od.files));
lb.ItemIndex:=0; lb2.ItemIndex:=0;
mp.FileName:=lb2.Items[0]; mp.Open;
if ekran='tam'then
begin
tahta.Hide;lb.Hide;mp.Display:=form1;
mp.DisplayRect:=Rect(0,0,form1.Width,form1.Height);
end
else
begin
mp.Display:=perde;
mp.DisplayRect:=Rect(0,0,perde.Width,perde.Height);
end;
ilerlet.Max:=mp.Length;
if od.Files.Count>1 then
begin
tuslar2; t1.Enabled:=false; ilerlet.Position:=0; exit;
end;
tuslar1; mp.Play; t1.Enabled:=true;
end;

procedure TForm1.k1Click(Sender: TObject);
begin form1.Close; end;

procedure TForm1.t1Timer(Sender: TObject);
begin
ilerlet.Position:=mp.Position;
if mp.Position<>mp.Length then exit;
ilerlet.Position:=0;
t1.Enabled:=false;
end;

procedure TForm1.ilerletMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if mp.FileName='' then exit;
mp.Position:=trunc(mp.Length/(ilerlet.Width/X));
if (dur.Visible=true)and(bekle.Visible=true)then
begin mp.Play; t1.Enabled:=true; end;
end;

procedure TForm1.ilerletMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if mp.FileName<>'' then ilerlet.Position:=trunc(ilerlet.Max/(ilerlet.Width/X));
t1.Enabled:=false;
end;

procedure TForm1.oynatClick(Sender: TObject);
begin
if ilet=1 then begin ilet:=0; mp.Open; end;
if ekran='' then
begin
mp.Display:=perde;
mp.DisplayRect:=Rect(0,0,perde.Width,perde.Height);
end
else
begin
mp.Display:=form1;
mp.DisplayRect:=Rect(0,0,form1.Width-lb.width,form1.Height-tahta.Height);
end;
tuslar1; mp.Play; t1.Enabled:=true;
end;

procedure TForm1.bekleClick(Sender: TObject);
begin
t1.Enabled:=false; mp.Pause;
oynat.Visible:=true; poynat.Visible:=false;
pbekle.Visible:=true; bekle.Visible:=false;
end;

procedure TForm1.durClick(Sender: TObject);
begin
t1.Enabled:=false; mp.Previous;
ilerlet.Position:=0; tuslar2;
end;

procedure TForm1.sonrakiClick(Sender: TObject);
begin
if lb.Items.Count>0 then
begin
if lb.ItemIndex=lb.Items.Count-1 then lb.ItemIndex:=0
else lb.ItemIndex:=lb.ItemIndex+1;
lb2.ItemIndex:=lb.ItemIndex;
mp.FileName:=lb2.Items[lb.itemindex];
ilet:=1;
oynat.Visible:=true;
poynat.Visible:=false;
end;
end;

procedure TForm1.A1Click(Sender: TObject);
begin od.Execute; end;

procedure TForm1.tbChange(Sender: TObject);
begin
SetWaveVolume(MakeLong(tb.Position*6535,tb.Position*6535));
if tb.Position=0 then begin ses.Visible:=false;
pses.Visible:=true; end
else begin ses.Visible:=true; pses.Visible:=false; end;
end;

procedure TForm1.sesClick(Sender: TObject);
begin
SetWaveVolume(MakeLong(0,0));
pses.Visible:=true; ses.Visible:=false;
end;

procedure TForm1.psesClick(Sender: TObject);
begin
if tb.Position=0 then exit;
SetWaveVolume(MakeLong(tb.Position*6535,tb.Position*6535));
ses.Visible:=true; pses.Visible:=false;
end;

function TForm1.SetWaveVolume(const AVolume: DWORD): Boolean;
var
WaveOutCaps: TWAVEOUTCAPS;
begin
Result:=False;
if WaveOutGetDevCaps(WAVE_MAPPER, @WaveOutCaps, SizeOf(WaveOutCaps)) = MMSYSERR_NOERROR then
if WaveOutCaps.dwSupport and WAVECAPS_VOLUME = WAVECAPS_VOLUME then
Result:=WaveOutSetVolume(WAVE_MAPPER, AVolume)=MMSYSERR_NOERROR;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ekran:=''; tarafx:=0; tarafy:=0; ilet:=0;
SetWaveVolume(MakeLong(tb.Position*6535,tb.Position*6535));
form1.Width:=trunc(screen.width/2);
form1.Height:=trunc(screen.height/2);
end;

procedure TForm1.lbMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
lb.ItemIndex:=lb.ItemAtPos(point(x,Y),false);
lb2.ItemIndex:=lb.ItemIndex;
if lb.ItemAtPos(point(x,y),false)<>lb.Items.Count then pm.AutoPopup:=true
else pm.AutoPopup:=false;
end;

procedure TForm1.lbMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if (pm.AutoPopup=true)and(button=mbleft) then
begin
lb.Items.Move(lb2.ItemIndex,lb.ItemAtPos(point(x,Y),false));
lb.ItemIndex:=lb.ItemAtPos(point(x,Y),false);
lb2.items.Move(lb2.ItemIndex,lb.ItemIndex);
end;
lb2.ItemIndex:=lb.ItemIndex;
end;

procedure TForm1.lbDblClick(Sender: TObject);
begin
if lb.Items.Count<1 then exit;
mp.FileName:=lb2.Items[lb.ItemIndex];
mp.Open;
if ekran='tam'then begin mp.Display:=form1;
mp.DisplayRect:=Rect(0,0,form1.Width-lb.width,form1.Height-tahta.Height); end
else begin mp.Display:=perde;
mp.DisplayRect:=Rect(0,0,perde.Width,perde.Height); end;
tuslar1; mp.Play; t1.Enabled:=true;
end;

procedure TForm1.Oynat1Click(Sender: TObject);
begin
lb.DeleteSelected; lb2.DeleteSelected;
lb.ItemIndex:=0; lb2.ItemIndex:=0;
end;

procedure TForm1.lbMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if lb.ItemAtPos(point(x,y),false)<>lb.Items.Count then
lb.Hint:=lb.Items[lb.ItemAtPos(point(x,y),false)];
end;

procedure TForm1.pm2Popup(Sender: TObject);
begin
NormalEkran1.Enabled:=false; amEkran1.Enabled:=true;
if ekran='' then exit;
amEkran1.Enabled:=false; NormalEkran1.Enabled:=true;
end;

procedure TForm1.FormDblClick(Sender: TObject);
begin
perde.show; lb.show; p1.show; tahta.show;
form1.WindowState:=wsnormal;
mp.Display:=perde;
mp.DisplayRect:=Rect(0,0,perde.Width,perde.Height);
ekran:='';
end;

procedure TForm1.FormClick(Sender: TObject);
begin
if lb.visible then begin tahta.Hide; lb.hide;
mp.DisplayRect:=Rect(0,0,form1.Width,form1.Height);
end else begin tahta.Show; lb.show;
mp.DisplayRect:=Rect(0,0,form1.Width-lb.width,
form1.Height-tahta.Height); end;
end;

procedure TForm1.oncekiClick(Sender: TObject);
begin
if lb.Items.Count>0 then
begin
if lb.ItemIndex=0 then lb.ItemIndex:=lb.Items.Count-1
else lb.ItemIndex:=lb.ItemIndex-1;
lb2.ItemIndex:=lb.ItemIndex;
mp.FileName:=lb2.Items[lb.itemindex];
ilet:=1;
oynat.Visible:=true;
poynat.Visible:=false;
end;
end;

procedure TForm1.lbClick(Sender: TObject);
begin
if lb.Items.Count>0 then
begin
mp.FileName:=lb.Items[lb.itemindex];
oynat.Visible:=true;
poynat.Visible:=false;
ilet:=1;
end;
end;

procedure TForm1.Image6Click(Sender: TObject);
begin
halt;
end;

procedure TForm1.Image5Click(Sender: TObject);
begin
with form1 do
if WindowState=wsmaximized then WindowState:=wsnormal
else form1.WindowState:=wsmaximized;
end;

procedure TForm1.Image4Click(Sender: TObject);
begin
form1.WindowState:=wsminimized;
end;

procedure TForm1.Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if tarafx<>0 then
begin
form1.Left:=form1.left-(tarafx-x);
form1.top:=form1.top-(tarafy-y);
end;
end;

procedure TForm1.Image3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
tarafx:=x;
tarafy:=y;
end;

procedure TForm1.Image3MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
tarafx:=0;
tarafy:=0;
end;

procedure TForm1.Image2DblClick(Sender: TObject);
begin
perde.Hide; lb.Hide; p1.Hide; tahta.Hide;
form1.WindowState:=wsMaximized;
mp.Display:=form1;
mp.DisplayRect:=Rect(0,0,form1.Width,form1.Height);
ekran:='tam';
end;

end.
Kullanıcı avatarı
Shou
Üye
Mesajlar: 260
Kayıt: 26 Ağu 2011 02:00

Re: Yaptığım Media Player Kodlarını Paylaşıyorum

Mesaj gönderen Shou »

hocam projesini paylaşsaydiniz daha iyi olurdu birde demo koysaydiniz bakabilirdik?
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Re: Yaptığım Media Player Kodlarını Paylaşıyorum

Mesaj gönderen bobasturk »

Ellerine sağlık, teşekkürler...
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Lord_Ares
Üye
Mesajlar: 1070
Kayıt: 15 Eki 2006 04:33
Konum: Çorlu

Re: Yaptığım Media Player Kodlarını Paylaşıyorum

Mesaj gönderen Lord_Ares »

oo ellerine sağlık süper olmuş.Çok teşekkürler gerçekten de ihtiyacım vardı allah razı olsun.
Cevapla