Delphi de MediaPlayer Uygulaması

 

Merhaba arkadaşlar bu makalemizde delphi de basit bir media player uygulaması yapacağız.

Formumuza Palette kısmından 1 adet Media Player, ProgressBar, Timer, OpenFileDialog, Button ve 4 adet Label ekleyelim.


Bu örneğimizde OpenDialog ile bilgisayardan çalınacak müzik dosyasının bulunduğu klasörü seçeceğiz. Timer ile müzik parçası çalınırken geçen süre ve kalan süreyi lablellerde gösterimini sağlayacağız. ProgressBar nesnesinde çalınan parçanın toplam süresinde ilerleme yüzdesini göstereceğiz.

 


 

 

 

 

 

 

 

 

 

 

Şekil 1


 


 

 

 

 

 

 

 

 

 

 

Şekil 2

 

 

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls, Vcl.MPlayer,

Vcl.ComCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Timer1: TTimer;

MediaPlayer1: TMediaPlayer;

Label1: TLabel;

Label2: TLabel;

ProgressBar1: TProgressBar;

Label3: TLabel;

OpenDialog1: TOpenDialog;

Label4: TLabel;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

i:integer;

implementation

{$R *.dfm}

Function Two(I : Integer)

: String;

var

T : String;

begin

Str(I,T);

If I < 10 Then Two := '0' + T Else Two := T;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

Min,Sec : LongInt;

begin

if OpenDialog1.Execute then

begin

ProgressBar1.Position:=0;

//MediaPlayer1.FileName := 'D:\msc\Frank Sinatra-Cant Take My Eyes off You.mp3';

MediaPlayer1.FileName:=OpenDialog1.FileName;

MediaPlayer1.Open;

MediaPlayer1.Play;

MediaPlayer1.TimeFormat := tfMilliseconds;

Timer1.Enabled := True;

Sec := MediaPlayer1.TrackLength[1] Div 1000;

Min := Sec Div 60;

Sec := Sec Mod 60;

Label1.Caption := MediaPlayer1.FileName;

Label2.Caption := 'Total Time : ' + Two(Min) + ':' + Two(Sec);

ProgressBar1.Max:=Min*60 + Sec;

i:=Min*60 + Sec;

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

Timer1.Enabled:=False;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var

Min,Sec : LongInt;

Min2,Sec2 : string;

begin

Sec := MediaPlayer1.Position Div 1000;

Min := Sec Div 60;

Sec := Sec Mod 60;

Label3.Caption := 'Current Time : ' + Two(Min) + ':' + Two(Sec);

dec(i);

Min2 := IntToStr(i div 60);

Sec2 := IntToStr(i mod 60);

if Length(Min2) = 1 then Min2 := '0' + Min2;

if Length(Sec2) = 1 then Sec2 := '0' + Sec2;

Label4.Caption :='Remaining Time : ' + Min2 + ':' + Sec2;

ProgressBar1.Position:=ProgressBar1.Position + 1;

if MediaPlayer1.Position = MediaPlayer1.TrackLength[1] then begin

Timer1.Enabled := False;

Label1.Caption := '';

Label2.Caption := '';

end;

end;

end.

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN

About Bahadır Şahin

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 comments:

Öne Çıkan Yayın

GridView da Seçili Satırı DetailsView da Göstermek

Merhaba arkadaşlar bu makalemizde GridView nesnesi ile birlikte DetailsView nesanesini birlikte kullanacağız. GridView da seçili satırın de...