![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать качеество mp3 файла? [D6, Win95/98, WinME]
Polard. © (2002-02-19 16:47:00)Добрый день!
Хотелось бы узнать как вытащить из mp3 файла BitRate (128kb, 192...)
Заранее благодарен.
[NIKEL] (2002-02-20 11:04:00) [1]попробуй этот код...
{
Byte 1-3 = ID "TAG"
Byte 4-33 = Titel / Title
Byte 34-63 = Artist
Byte 64-93 = Album
Byte 94-97 = Jahr / Year
Byte 98-127 = Kommentar / Comment
Byte 128 = Genre
}
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
Form1: TForm1;
implementation
{$R *.dfm}
function readID3Tag(FileName: string): TID3Tag;
var
FS: TFileStream;
Buffer: array [1..128] of Char;
begin
FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
FS.Seek(-128, soFromEnd);
FS.Read(Buffer, 128);
with Result 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;
finally
FS.Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
with readID3Tag(OpenDialog1.FileName) do
begin
label1.Caption := ID;
Label2.Caption := Titel;
Label3.Caption := Artist;
Label4.Caption := Album;
Label5.Caption := Year;
Label6.Caption := Comment;
Label7.Caption := IntToStr(Genre);
end;
end;
end;
VuDZ (2002-02-19 20:56:00) [2]проблема в том, что битрейт может быть переменным, а вообще - поищи доку по этому формату