bitrate
MP3ファイルを取得するにはどうすればよいですか?
3 に答える
MP3 ビットレートはフレーム ヘッダーの 3 番目のバイトに保存されるため、オプションは値 255 の最初のバイトを検索することです (理論的には、その前にすべてのビットが 1 に設定された他のバイトは存在しないはずです)。その後のバイト。次のコードはこれを行います:
program Project1;
{$APPTYPE CONSOLE}
uses
Classes, SysUtils;
const
BIT_RATE_TABLE: array [0..15] of Integer =
(0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 0);
var
B: Byte;
begin
with TFileStream.Create(ParamStr(1), fmOpenRead) do begin
try
Position := 0;
repeat
Read(B, 1);
until B = 255;
Position := Position + 1;
Read(B, 1);
Writeln(BIT_RATE_TABLE[B shr 4]);
finally
Free;
end;
end;
end.
これは最初のフレームのビットレートのみを見つけることに注意してください。
詳しい情報はこちらからご覧いただけます
Read MP3 infoをご覧くださいTAudioFile.GetMp3Info
(ドイツ語の説明は無視してください)
MP3 ファイル形式を読み取るには、Delphi 構造を作成する必要があります。
その形式は次のように定義されています。
http://en.wikipedia.org/wiki/MP3#File_structure
このリンク: http://www.3delite.hu/Object%20Pascal%20Developer%20Resources/id3v2library.html
フォーマットを読み取るための Delphi コードも含まれているようです。
より基本的には、すべてのファイルには形式があり、通常、その形式をマップするデータ構造を作成する必要があります。次に、ファイル読み取りコードを使用して、ファイル形式を定義する構造体の上にファイル内のデータをマップします。