Friday, April 15, 2011

Repeat Media Player

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, MPlayer;

type
TForm1 = class(TForm)
MP: TMediaPlayer;
LCD: TPanel;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
MP.FileName := ExtractFilePath(Application.ExeName)+'ZSM.avi';
MP.Open;
MP.Play;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if MP.Length = MP.EndPos then
MP.Position := MP.StartPos;
MP.Play;
end;

end.

Membuat MediaPlayer Dengan C++ Builder

//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include "PERFGRAP.h"
#include "CGAUGES.h"
#include
#include "trayicon.h"
#include
#include
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TSpeedButton *BA;
TListBox *LB;
TOpenDialog *OD;
TMediaPlayer *MP;
TSpeedButton *BD;
TSpeedButton *BC;
TSpeedButton *BI;
TTimer *T1;
TPanel *PM;
TLabel *LD;
TSpeedButton *BP;
TSpeedButton *BB;
TSpeedButton *BS;
TLabel *LR;
TSpeedButton *BN;
TSpeedButton *BPv;
TSpeedButton *BBc;
TSpeedButton *BSt;
TActionList *AL;
TAction *RA;
TSpeedButton *BR;
TPanel *LCD;
TSpeedButton *BSL;
TSpeedButton *BL;
TSpeedButton *BE;
TSaveDialog *SD;
TProgressBar *PB;
TSpeedButton *BT;
TAction *OT;
TLabel *LU;
TLabel *LE;
TImageList *IL;
TPopupMenu *PUM;
TTrayIcon *TI;
TMenuItem *Restore1;
TMenuItem *N1;
TMenuItem *Quit1;
TMenuItem *Contact1;
TMenuItem *ViewMyProfile1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *PlayBack1;
TMenuItem *Play1;
TMenuItem *Pause1;
TMenuItem *Stop1;
TMenuItem *N4;
TMenuItem *Step1;
TMenuItem *Back1;
TMenuItem *N5;
TMenuItem *Previous1;
TMenuItem *Next1;
TMenuItem *File1;
TMenuItem *AddFiles1;
TMenuItem *LoadPLS1;
TMenuItem *ExportToPLS1;
TTimer *TA;
void __fastcall BAClick(TObject *Sender);
void __fastcall LBDblClick(TObject *Sender);
void __fastcall FormActivate(TObject *Sender);
void __fastcall BCClick(TObject *Sender);
void __fastcall BDClick(TObject *Sender);
void __fastcall BIClick(TObject *Sender);
void __fastcall T1Timer(TObject *Sender);
void __fastcall BPClick(TObject *Sender);
void __fastcall BBClick(TObject *Sender);
void __fastcall BSClick(TObject *Sender);
void __fastcall BNClick(TObject *Sender);
void __fastcall BPvClick(TObject *Sender);
void __fastcall BStClick(TObject *Sender);
void __fastcall BBcClick(TObject *Sender);
void __fastcall RAExecute(TObject *Sender);
void __fastcall BRClick(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall BSLClick(TObject *Sender);
void __fastcall BLClick(TObject *Sender);
void __fastcall BEClick(TObject *Sender);
void __fastcall PBMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y);
void __fastcall BTClick(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall LUClick(TObject *Sender);
void __fastcall LEClick(TObject *Sender);
void __fastcall LUMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall LEMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall LEMouseLeave(TObject *Sender);
void __fastcall LUMouseLeave(TObject *Sender);
void __fastcall LBDragDrop(TObject *Sender, TObject *Source, int X,
int Y);
void __fastcall LBMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall LBDragOver(TObject *Sender, TObject *Source, int X,
int Y, TDragState State, bool &Accept);
void __fastcall Quit1Click(TObject *Sender);
void __fastcall Restore1Click(TObject *Sender);
void __fastcall Play1Click(TObject *Sender);
void __fastcall Pause1Click(TObject *Sender);
void __fastcall Stop1Click(TObject *Sender);
void __fastcall Back1Click(TObject *Sender);
void __fastcall Step1Click(TObject *Sender);
void __fastcall Previous1Click(TObject *Sender);
void __fastcall Next1Click(TObject *Sender);
void __fastcall AddFiles1Click(TObject *Sender);
void __fastcall LoadPLS1Click(TObject *Sender);
void __fastcall ExportToPLS1Click(TObject *Sender);
void __fastcall Contact1Click(TObject *Sender);
void __fastcall ViewMyProfile1Click(TObject *Sender);
void __fastcall TATimer(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

//================================================================================>

/* Created By : Zephio
Contact : zephio@myspace.com
URL : http://myspcae.com/zephio
*/
//---------------------------------------------------------------------------

#include
#pragma hdrstop
#include
#include "Unit1.h"
#include "Unit2.h"
#include
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "PERFGRAP"
#pragma link "CGAUGES"
#pragma link "trayicon"
#pragma resource "*.dfm"
TForm1 *Form1;

AnsiString SL;
const
Char *S = "Z-Player";
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{

}
//--------------------------Add Files-------------------------------------------------

void __fastcall TForm1::BAClick(TObject *Sender)
{
OD->DefaultExt = "*.avi;*.wav;*.mp3;*.mid;*.mpeg";
OD->Filter = "Playable Files [*.avi, *.wav, *.mp3, *.mid, *.mpeg]|*.avi;*.wav;*.mp3;*.mid;*.mpeg";
OD->Title = "Add Files";
int i;
if (OD->Execute() != true);
exit;
for (i = 0; i < OD->Files->Count; i++)
LB->Items->Add(OD->Files->Strings[i]);
}
//---------------------------Load FileName From Listbox------------------------------------------------
void __fastcall TForm1::LBDblClick(TObject *Sender)
{
SL = ChangeFileExt(ExtractFileName(LB->Items->Strings[LB->ItemIndex]),"");
Form1->Caption = "["+IntToStr(LB->ItemIndex +1) +"/"+ IntToStr(LB->Count) +"] - "+ SL+" - "+S;
MP->FileName = LB->Items->Strings[LB->ItemIndex];
MP->Open();
PB->Max = MP->Length;
LD->Caption = "Duration : 0/" + IntToStr(MP->Length) + " MS";
PM->Enabled = true;
TA->Enabled = false;
BPClick(Sender);
/*if (MP->Capabilities.Contains(mpUsesWindow))
MP->Display = LCD;*/
}
//------------------------------Task Bar Title---------------------------------------------
void __fastcall TForm1::FormActivate(TObject *Sender)
{
Application->Title = S;
}
//--------------------------------Clear Playlist-------------------------------------------
void __fastcall TForm1::BCClick(TObject *Sender)
{
if (MP->Mode == mpPlaying)
BSClick(Sender);
MP->Close();
LB->Clear();
PM->Enabled = false;
Caption = "Z-Player";
TA->Enabled = true;
}
//---------------------------------Delete Selected------------------------------------------
void __fastcall TForm1::BDClick(TObject *Sender)
{
if (LB->ItemIndex >= 0 )
LB->Items->Delete(LB->ItemIndex);
}
//------------------------------About Form---------------------------------------------
void __fastcall TForm1::BIClick(TObject *Sender)
{
Form2->ShowModal();
}
//------------------------------Update Status---------------------------------------------
void __fastcall TForm1::T1Timer(TObject *Sender)
{
if (RA->Checked == true)
RAExecute(Sender);
else
if (MP->Mode == mpStopped)
BNClick(Sender);
PB->Position = MP->Position;
LD->Caption = "Duration : "+IntToStr(MP->Position)+"/" + IntToStr(MP->Length) + " MS";
LR->Caption = "Remain : "+ IntToStr(MP->Length - MP->Position) +" MS";
}
//------------------------------Play---------------------------------------------
void __fastcall TForm1::BPClick(TObject *Sender)
{
if (MP->Mode != mpPlaying)
MP->Play();
T1->Enabled = true;
}
//--------------------------Pause-------------------------------------------------

void __fastcall TForm1::BBClick(TObject *Sender)
{
if (MP->Mode == mpPlaying)
MP->PauseOnly();
if (MP->Mode == mpPaused)
T1->Enabled = true;
else
MP->Position = PB->Position;
T1->Enabled = false;
}
//-------------------------Stop--------------------------------------------------

void __fastcall TForm1::BSClick(TObject *Sender)
{
if (MP->Mode != mpStopped)
MP->Stop();
T1->Enabled = false;
LD->Caption = "Duration : 0/0 MS";
LR->Caption = "Remain : 0 MS";
PB->Position = 0;
MP->Position = 0;
}
//-----------------------Next----------------------------------------------------


void __fastcall TForm1::BNClick(TObject *Sender)
{
if (LB->Count < 1); exit; if (LB->Count > 1)
if (LB->ItemIndex == LB->Count - 1)
LB->ItemIndex = 0;
else
LB->ItemIndex = LB->ItemIndex + 1;
LBDblClick(Sender);
}
//-------------------------Previous--------------------------------------------------

void __fastcall TForm1::BPvClick(TObject *Sender)
{
if (LB->Count < 1) exit; if (LB->Count > 1)
if (LB->ItemIndex == 0)
LB->ItemIndex = LB->Count - 1;
else
LB->ItemIndex = LB->ItemIndex - 1;
LBDblClick(Sender);
}
//--------------------------Step-------------------------------------------------

void __fastcall TForm1::BStClick(TObject *Sender)
{
if ((MP->Position + 5000)<= MP->Length)
MP->Position = MP->Position + 5000;
else
MP->Position = 0;
MP->Play();
}
//---------------------------Back------------------------------------------------

void __fastcall TForm1::BBcClick(TObject *Sender)
{
if ((MP->Position - 5000) > 0)
MP->Position = MP->Position - 5000;
else
MP->Position = 0;
MP->Play();
}
//----------------------------Repeat-----------------------------------------------


void __fastcall TForm1::RAExecute(TObject *Sender)
{
if (MP->Length == MP->EndPos)
MP->Position = MP->StartPos;
BPClick(Sender);
}
//-------------------------------Repeat--------------------------------------------


void __fastcall TForm1::BRClick(TObject *Sender)
{
if (RA->Checked == false)
RA->Checked = true;
else
if (RA->Checked == true)
RA->Checked = false;
if (RA->Checked == true)
BR->Font->Color = clLime;
else
BR->Font->Color = clRed;

}
//----------------------------Form Width-----------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Form1->Width = 177;
}
//----------------------------Resize Form-----------------------------------------------

void __fastcall TForm1::BSLClick(TObject *Sender)
{
if(Form1->Width == 177)
Form1->Width = 471;
else
Form1->Width = 177;
if (Form1->Width == 177)
BSL->Caption = ">>>";
else
if (Form1->Width == 471)
BSL->Caption = "<<<"; } //----------------------------Load *.PLS----------------------------------------------- void __fastcall TForm1::BLClick(TObject *Sender) { OD->FileName = "";
OD->DefaultExt = "*.pls";
OD->Filter = "PLS File|*.pls";
OD->Title = "Load PLS";
if (OD->Execute() != true);
exit;
TIniFile *pIni = new TIniFile(OD->FileName);
int i;
for(i = 0; i < pIni->ReadInteger("playlist", "NumberOfEntries", 0); i++)
LB->AddItem(pIni->ReadString("playlist", "File" + IntToStr(i + 1),ExtractFileName("")), Sender);
pIni->Free();
}
//-------------------------Export to *.PLS--------------------------------------------------

void __fastcall TForm1::BEClick(TObject *Sender)
{
SD->FileName = "";
if (SD->Execute() == false);
exit;
TIniFile *pIni = new TIniFile(SD->FileName);
int i;
for(i = 0; i < LB->Count; i++)
if (SD->FileName == "")
exit;
else
{
pIni->WriteString("playlist", "File" + IntToStr(i+1), LB->Items->Strings[i]);
pIni->WriteString("playlist", "Title" + IntToStr(i+1), ChangeFileExt(ExtractFileName(LB->Items->Strings[i]),""));
pIni->WriteString("playlist", "Length"+IntToStr(i+1),'0');
pIni->WriteInteger("playlist","NumberOfEntries", LB->Count);
}
pIni->Free();
}
//----------------------------Seek-----------------------------------------------

void __fastcall TForm1::PBMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
MP->Position = (X * MP->Length) / PB->ClientWidth;
PB->Position = (MP->Position * 100) / MP->Length;
MP->Play();
T1->Enabled = true;
}
//----------------------------On Top-----------------------------------------------


void __fastcall TForm1::BTClick(TObject *Sender)
{
if (OT->Checked == false)
OT->Checked = true;
else
if (OT->Checked == true)
OT->Checked = false;
if (OT->Checked == true)
BT->Font->Color = clLime;
else
BT->Font->Color = clRed;
if (OT->Checked == true)
Form1->FormStyle = fsStayOnTop;
else
Form1->FormStyle = fsNormal;
}
//---------------------------Config Form------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
TIniFile *pIni = new TIniFile(ChangeFileExt(Application->ExeName, ".ini"));
pIni->WriteString("Lay out", "Path", Application->ExeName);
pIni->WriteString("Lay out", "Application name", ChangeFileExt(ExtractFileName(Application->ExeName), ""));
pIni->Free();
}
//------------------------------URL---------------------------------------------

void __fastcall TForm1::LUClick(TObject *Sender)
{
ShellExecute(0, "open", "http://myspace.com/zephio", "", "", SW_SHOWNORMAL);
}
//-------------------------------Mail--------------------------------------------

void __fastcall TForm1::LEClick(TObject *Sender)
{
ShellExecute(0, "open", "mailto:zephio@myspace.com?Subject=Hi, Zephio...", "", "", SW_SHOWNORMAL);
}
//------------------------------Label Font Color---------------------------------------------

void __fastcall TForm1::LUMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
LU->Font->Color = clRed;
}
//------------------------------Label Font Color---------------------------------------------

void __fastcall TForm1::LEMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
{
LE->Font->Color = clRed;
}
//------------------------------Label Font Color---------------------------------------------

void __fastcall TForm1::LEMouseLeave(TObject *Sender)
{
LE->Font->Color = clLime;
}
//------------------------------Label Font Color---------------------------------------------

void __fastcall TForm1::LUMouseLeave(TObject *Sender)
{
LU->Font->Color = clLime;
}
//------------------------------Drag & Drop---------------------------------------------

void __fastcall TForm1::LBDragDrop(TObject *Sender, TObject *Source, int X,
int Y)
{
int MI, DI;
DI = LB->ItemAtPos(Point(X,Y), true);
MI = LB->ItemIndex;
LB->Items->Exchange(MI, DI);
}
//-------------------------------Drag & Drop--------------------------------------------

void __fastcall TForm1::LBMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if (Button == mbLeft) // drag only if left button pressed
{
TListBox *pLB = (TListBox *)Sender; // cast to TFileListBox
if(pLB->ItemAtPos(Point(X,Y), true) >= 0) // is there an item here?
pLB->BeginDrag(false,-1); // if so, drag it
}
}
//---------------------------------Drag & Drop------------------------------------------

void __fastcall TForm1::LBDragOver(TObject *Sender, TObject *Source, int X,
int Y, TDragState State, bool &Accept)
{
if (Source->InheritsFrom(__classid(TListBox)))
Accept = true;
}
//------------------------------Terminate---------------------------------------------

void __fastcall TForm1::Quit1Click(TObject *Sender)
{
Application->Terminate();
}
//--------------------------Restore Main Form-------------------------------------------------


void __fastcall TForm1::Restore1Click(TObject *Sender)
{
Application->Restore();
}
//------------------------------Play Sender---------------------------------------------

void __fastcall TForm1::Play1Click(TObject *Sender)
{
BPClick(Sender);
}
//--------------------------------Pause Sender-------------------------------------------

void __fastcall TForm1::Pause1Click(TObject *Sender)
{
BBClick(Sender);
}
//---------------------------------Stop Sender------------------------------------------

void __fastcall TForm1::Stop1Click(TObject *Sender)
{
BSClick(Sender);
}
//----------------------------------Back Sender-----------------------------------------

void __fastcall TForm1::Back1Click(TObject *Sender)
{
BBcClick(Sender);
}
//------------------------------------Step Sender---------------------------------------

void __fastcall TForm1::Step1Click(TObject *Sender)
{
BStClick(Sender);
}
//-----------------------------------Previous Sender----------------------------------------

void __fastcall TForm1::Previous1Click(TObject *Sender)
{
BPvClick(Sender);
}
//------------------------------------Next Sender---------------------------------------

void __fastcall TForm1::Next1Click(TObject *Sender)
{
BNClick(Sender);
}
//------------------------------------Add Files Sender---------------------------------------

void __fastcall TForm1::AddFiles1Click(TObject *Sender)
{
BAClick(Sender);
}
//---------------------------------Load *.PLS Sender------------------------------------------

void __fastcall TForm1::LoadPLS1Click(TObject *Sender)
{
BLClick(Sender);
}
//----------------------------------Export To *.PLS Sender-----------------------------------------

void __fastcall TForm1::ExportToPLS1Click(TObject *Sender)
{
BEClick(Sender);
}
//----------------------------------Mail Sender-----------------------------------------

void __fastcall TForm1::Contact1Click(TObject *Sender)
{
LEClick(Sender);
}
//-----------------------------------URL Sender----------------------------------------

void __fastcall TForm1::ViewMyProfile1Click(TObject *Sender)
{
LUClick(Sender);
}
//-----------------------------------Anime----------------------------------------

void __fastcall TForm1::TATimer(TObject *Sender)
{
if (Caption == "Z-Player")
Caption = "Created by : Zephio";
else
if (Caption == "Created by : Zephio")
Caption = "Contact : zephio@myspace.com";
else
if (Caption == "Contact : zephio@myspace.com")
Caption = "http://myspace.com/zephio";
else
if (Caption == "http://myspace.com/zephio")
Caption = "Z-Player";
}
//---------------------------------------------------------------------------



Example : http://www.mediafire.com/?eb8254bpnc3qgd9

Membuat Animasi dengan C++ Builder

//---------------------------------------------------------------------------

#include
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::T1Timer(TObject *Sender)
{
//---------------Left-------------------------------------------------------
LL->Left = LL->Left-1;
if (LL->Left < 0) LL->Left = P1->Width;
//---------------Right-------------------------------------------------------
LR->Left = LR->Left+1;
if (LR->Left > P1->Width)
LR->Left = 0;
//---------------Bottom-------------------------------------------------------
LB->Top = LB->Top-1;
if (LB->Top < 0) LB->Top = P1->Height;
//---------------Top-------------------------------------------------------
LT->Top = LT->Top+1;
if (LT->Top > P1->Height)
LT->Top = 0;
}
//---------------------------------------------------------------------------