Minggu, 17 Juni 2012

MEDIA PLAYER

AUDIO VIDEO PLAYER

Screen Shoot Form :







Coding :

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, MPlayer, ComCtrls, MMSystem, Spin;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    ProgressBar1: TProgressBar;
    Timer1: TTimer;
    MediaPlayer1: TMediaPlayer;
    OpenDialog1: TOpenDialog;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Panel1: TPanel;
    Label3: TLabel;
    Button3: TButton;
    Button4: TButton;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    ListBox1: TListBox;
    Button5: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure Label3DblClick(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function GetWaveVolume(var LVol:DWORD;var RVol:DWORD):Boolean;
var
WaveOutCaps:TWAVEOUTCAPS;
Volume:DWORD;
begin
Result:=False;
if WaveOutGetDevCaps(WAVE_MAPPER,@WaveOutCaps,sizeof(WaveOutCaps))=MMSYSERR_NOERROR then
if WaveOutCaps.dwSupport and WAVECAPS_VOLUME=WAVECAPS_VOLUME then
begin
Result:=WaveOutGetVolume(WAVE_MAPPER,@Volume)=MMSYSERR_NOERROR;
LVol:=LoWord(Volume);
RVol:=HiWord(Volume);
end;
end;

function 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.Timer1Timer(Sender: TObject);
begin
ProgressBar1.Position:=MediaPlayer1.Position;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
mediaplayer1.Display:=panel1;
listbox1.Items.Add(opendialog1.FileName);
label3.Caption:=OpenDialog1.FileName;
MediaPlayer1.FileName:=OpenDialog1.FileName;
MediaPlayer1.Open;
if listbox1.ItemIndex> 1 then
ProgressBar1.Position:=MediaPlayer1.Position;
ProgressBar1.Max:=MediaPlayer1.Length;
MediaPlayer1.Enabled:=True;
Timer1.Enabled:=True;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
LVol:Word;
RVol:Word;
begin
LVol:=SpinEdit1.Value;
RVol:=SpinEdit2.Value;
SetWaveVolume(MakeLong(LVol,RVol));
end;

procedure TForm1.Button4Click(Sender: TObject);
var
LVol:DWORD;
RVol:DWORD;
begin
if GetWaveVolume(LVol,RVol)then
begin
SpinEdit1.Value:=LVol;
SpinEdit2.Value:=RVol;
end;
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var A:integer;
begin
A:=listbox1.ItemIndex;
 If listbox1.Selected[A] Then
 Begin
 label3.Caption:=listbox1.Items.Strings[A];
end;
end;

procedure TForm1.Label3DblClick(Sender: TObject);
Var A:Integer;
begin
A:=listbox1.ItemIndex;
If listbox1.Selected[A] Then
Begin
label3.Caption:=listbox1.Items.Strings[A];
Mediaplayer1.FileName:=label3.Caption;
Mediaplayer1.Open;
Mediaplayer1.Play;
end;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
listbox1.Clear;
end;

Screen Shoot Run Project :