7

bitrateMP3ファイルを取得するにはどうすればよいですか?

4

3 に答える 3

5

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.

これは最初のフレームのビットレートのみを見つけることに注意してください。

詳しい情報はこちらからご覧いただけます

于 2011-04-23T01:06:47.397 に答える
4

Read MP3 infoをご覧くださいTAudioFile.GetMp3Info(ドイツ語の説明は無視してください)

于 2011-04-23T07:23:49.093 に答える
3

MP3 ファイル形式を読み取るには、Delphi 構造を作成する必要があります。

その形式は次のように定義されています。

http://en.wikipedia.org/wiki/MP3#File_structure

このリンク: http://www.3delite.hu/Object%20Pascal%20Developer%20Resources/id3v2library.html

フォーマットを読み取るための Delphi コードも含まれているようです。

より基本的には、すべてのファイルには形式があり、通常、その形式をマップするデータ構造を作成する必要があります。次に、ファイル読み取りコードを使用して、ファイル形式を定義する構造体の上にファイル内のデータをマップします。

于 2011-04-23T00:41:43.727 に答える