unit
Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MPlayer, StdCtrls, ExtCtrls, ComCtrls;
type
TForm1 =
class
(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
MediaPlayer1: TMediaPlayer;
OpenDialog1: TOpenDialog;
Label1: TLabel;
ListBox1: TListBox;
Button6: TButton;
Button7: TButton;
Label8: TLabel;
Button8: TButton;
Button9: TButton;
Label9: TLabel;
Timer1: TTimer;
Label10: TLabel;
TrackBar1: TTrackBar;
Button11: TButton;
StatusBar1: TStatusBar;
Edit1: TEdit;
Button5: TButton;
procedure
Button4Click(Sender: TObject);
procedure
Button2Click(Sender: TObject);
procedure
Button3Click(Sender: TObject);
procedure
Button1Click(Sender: TObject);
procedure
Button7Click(Sender: TObject);
procedure
ListBox1DblClick(Sender: TObject);
procedure
Button8Click(Sender: TObject);
procedure
Button9Click(Sender: TObject);
procedure
Button6Click(Sender: TObject);
procedure
FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint;
var
Handled:
Boolean
);
procedure
FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint;
var
Handled:
Boolean
);
procedure
Timer1Timer(Sender: TObject);
procedure
Button11Click(Sender: TObject);
procedure
Button5Click(Sender: TObject);
procedure
FormCreate(Sender: TObject);
private
public
end
;
var
Form1: TForm1;
implementation
Type
TID3Tag =
record
ID:
string
[
3
];
Titel:
string
[
30
];
Artist:
string
[
30
];
Album:
string
[
30
];
Year:
string
[
4
];
Comment:
string
[
30
];
Genre:
byte
;
end
;
var
ID3Tag:TID3Tag;
procedure
Lese_ID3Tag(Filename:
string
);
var
Buffer:
array
[
1..128
]
of
char
;
F:
File
;
begin
AssignFile(F, Filename);
Reset(F,
1
);
Seek(F,FileSize(F)-
128
);
BlockRead(F, Buffer, SizeOf(Buffer));
CloseFile(F);
with
ID3Tag
do
begin
ID:=copy(Buffer,
1
,
3
);
Titel:=copy(Buffer,
4
,
30
);
Artist:=copy(Buffer,
34
,
30
);
Album:=copy(Buffer,
64
,
30
);
Year:=copy(Buffer,
94
,
4
);
Comment:=copy(Buffer,
98
,
30
);
Genre:=ord(Buffer[
128
]);
end
;
end
;
{$R *.dfm}
procedure
TForm1
.
Button4Click(Sender: TObject);
begin
If
opendialog1
.
Execute
then
Mediaplayer1
.
FileName := (opendialog1
.
FileName);
Mediaplayer1
.
Open;
Label1
.
Caption := (Opendialog1
.
FileName);
ListBox1
.
Items
.
AddStrings(Opendialog1
.
Files);
Listbox1
.
ItemIndex :=
0
;
end
;
procedure
TForm1
.
Button2Click(Sender: TObject);
begin
If
Mediaplayer1
.
FileName >
''
then
Begin
Mediaplayer1
.
Pause;
End
;
end
;
procedure
TForm1
.
Button3Click(Sender: TObject);
begin
If
Mediaplayer1
.
FileName >
''
then
Begin
Mediaplayer1
.
Stop;
Mediaplayer1
.
Previous;
End
;
end
;
procedure
TForm1
.
Button1Click(Sender: TObject);
begin
If
Mediaplayer1
.
FileName >
''
then
Begin
MediaPlayer1
.
FileName := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex]));
Mediaplayer1
.
Open;
Mediaplayer1
.
Play;
End
;
end
;
procedure
TForm1
.
Button7Click(Sender: TObject);
begin
If
MediaPlayer1
.
FileName >
''
then
Begin
MediaPlayer1
.
FileName := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex+
1
]));
Listbox1
.
ItemIndex := Listbox1
.
ItemIndex+
1
;
MediaPlayer1
.
Open;
Mediaplayer1
.
Play;
Label1
.
Caption := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex]));
End
end
;
procedure
TForm1
.
ListBox1DblClick(Sender: TObject);
begin
MediaPlayer1
.
FileName := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex]));
MediaPlayer1
.
Open;
Mediaplayer1
.
Play;
Label1
.
Caption := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex]));
end
;
procedure
TForm1
.
Button8Click(Sender: TObject);
begin
Mediaplayer1
.
Position := Mediaplayer1
.
Position+
10000
;
Mediaplayer1
.
Play;
end
;
procedure
TForm1
.
Button9Click(Sender: TObject);
begin
If
Mediaplayer1
.
Position <
10000
then
Mediaplayer1
.
Previous
else
Mediaplayer1
.
Position := Mediaplayer1
.
Position -
10000
;
Mediaplayer1
.
Play;
end
;
procedure
TForm1
.
Button6Click(Sender: TObject);
begin
If
Mediaplayer1
.
FileName >
''
then
Begin
MediaPlayer1
.
FileName := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex-
1
]));
Listbox1
.
ItemIndex := Listbox1
.
ItemIndex-
1
;
MediaPlayer1
.
Open;
Mediaplayer1
.
Play;
Label1
.
Caption := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex]));
End
;
end
;
procedure
TForm1
.
FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint;
var
Handled:
Boolean
);
begin
Mediaplayer1
.
Position := Mediaplayer1
.
Position+
10000
;
Mediaplayer1
.
Play;
end
;
procedure
TForm1
.
FormMouseWheelUp(Sender: TObject; Shift: TShiftState;
MousePos: TPoint;
var
Handled:
Boolean
);
begin
If
Mediaplayer1
.
Position <
10000
then
Mediaplayer1
.
Previous
else
Mediaplayer1
.
Position := Mediaplayer1
.
Position -
10000
;
Mediaplayer1
.
Play;
end
;
procedure
TForm1
.
Timer1Timer(Sender: TObject);
begin
Label9
.
Caption := DateToStr(Date);
Label10
.
Caption := TimeToStr(Time);
If
Mediaplayer1
.
FileName >
''
then
Begin
Trackbar1
.
Max := (Mediaplayer1
.
Length);
Trackbar1
.
Position := Mediaplayer1
.
Position;
End
;
If
Trackbar1
.
Position > (Trackbar1
.
Max -
1
)
then
Begin
MediaPlayer1
.
FileName := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex+
1
]));
Listbox1
.
ItemIndex := Listbox1
.
ItemIndex+
1
;
MediaPlayer1
.
Open;
Mediaplayer1
.
Play;
Label1
.
Caption := (
String
(ListBox1
.
Items[Listbox1
.
ItemIndex]));
End
;
end
;
procedure
TForm1
.
Button11Click(Sender: TObject);
begin
Listbox1
.
Items
.
Delete(Listbox1
.
ItemIndex);
end
;
procedure
TForm1
.
Button5Click(Sender: TObject);
begin
Edit1
.
Text := Inttostr(Listbox1
.
Items
.
Count);
end
;
procedure
TForm1
.
FormCreate(Sender: TObject);
begin
end
;
end
.