
21.10.2008, 15:22
|
Прохожий
|
|
Регистрация: 03.10.2008
Сообщения: 28
Репутация: 10
|
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MPlayer, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
MediaPlayer1: TMediaPlayer;
OpenDialog1: TOpenDialog;
Label1: TLabel;
ListBox1: TListBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Button6: TButton;
Button7: TButton;
Label8: TLabel;
Button8: TButton;
Button9: TButton;
Label9: TLabel;
Timer1: TTimer;
Label10: TLabel;
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(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 FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
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 := (Opendialog1.Files);
Listbox1.ItemIndex := 0;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Mediaplayer1.Pause;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Mediaplayer1.Stop;
Mediaplayer1.Previous;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Mediaplayer1.Play;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if OpenDialog1.Execute then begin
Lese_ID3Tag(OpenDialog1.FileName);
Label2.Caption:=ID3Tag.Titel;
Label3.Caption:=ID3Tag.Artist;
Label4.Caption:=ID3Tag.Album;
Label5.Caption:=ID3Tag.Year;
Label6.Caption:=ID3Tag.Comment;
Label7.Caption:=IntToStr(ID3Tag.Genre);
end;
end;
procedure TForm1.Button7Click(Sender: TObject);
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;
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
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;
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.FormCreate(Sender: TObject);
begin
Label11.Caption := IntToStr(Mediaplayer1.Position);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label9.Caption := DateToStr(Date);
Label10.Caption := TimeToStr(Time);
end;
end.
__________________
CODDING - Штука тонкая !!!
|