Thema: Delphi MP3 mit kompilieren

Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: MP3 mit kompilieren

  Alt 8. Sep 2005, 16:42
Ergänzung zu oben, Auszug aus aktueller mmreg.h des PSDK. MPEGLAYER3WAVEFORMAT ist mindestens seit 1999 definiert (wahrscheinlich aber noch eher).

Code:
//
// MPEG Layer3 WAVEFORMATEX structure
// for WAVE_FORMAT_MPEGLAYER3 (0x0055)
//
#define MPEGLAYER3_WFX_EXTRA_BYTES  12

// WAVE_FORMAT_MPEGLAYER3 format sructure
//
typedef struct mpeglayer3waveformat_tag {
  WAVEFORMATEX wfx;
  WORD         wID;
  DWORD        fdwFlags;
  WORD         nBlockSize;
  WORD         nFramesPerBlock;
  WORD         nCodecDelay;
} MPEGLAYER3WAVEFORMAT;

typedef MPEGLAYER3WAVEFORMAT         *PMPEGLAYER3WAVEFORMAT;
typedef MPEGLAYER3WAVEFORMAT NEAR   *NPMPEGLAYER3WAVEFORMAT;
typedef MPEGLAYER3WAVEFORMAT FAR    *LPMPEGLAYER3WAVEFORMAT;

//==========================================================================;

#define MPEGLAYER3_ID_UNKNOWN           0
#define MPEGLAYER3_ID_MPEG              1
#define MPEGLAYER3_ID_CONSTANTFRAMESIZE 2

#define MPEGLAYER3_FLAG_PADDING_ISO     0x00000000
#define MPEGLAYER3_FLAG_PADDING_ON      0x00000001
#define MPEGLAYER3_FLAG_PADDING_OFF     0x00000002
Damit sieht das Hex-Beispiel von oben so aus:

Code:
00000000 5249 4646 4AE8 0F00                            RIFFJ...        <- "RIFF" + Dateigröße
00000008 5741 5645                                      WAVE
0000000C 666D 7420 1E00 0000                            fmt ....        <- "fmt "-Chunk + Größe
00000014 ---- WAVEFORMATEX ----
         5500           $55 : wFormatTag : WAVE_FORMAT_MPEGLAYER3
         0200           $02 : nChannels
         2256 0000      22050 : nSamplesPerSec : Abspielfrequenz
         581B 0000      7000 : nAvgBytesPerSec : Bitrate (56 kBit/s)
         0100           1 : nBlockAlign
         0000           0 : wBitsPerSample
         0C00           12 : cbSize : MPEGLAYER3_WFX_EXTRA_BYTES
00000032 ---- MPEGLAYER3WAVEFORMAT ----
         0100           1 : wID : MPEGLAYER3_ID_MPEG
         0200 0000      $00000002 : fdwFlags : MPEGLAYER3_FLAG_PADDING_OFF
         B600           182 : nBlockSize : Std. Framegröße für Frequenz/Bitrate/Layer/Version
         0100           1 : nFramesPerBlock
         7105           1393 : nCodecDelay : ? wird vom Codec eingesetzt
00000032 6661 6374 0400 0000                            fact....        <- "fact"-Chunk + Größe
0000003A 31B8 6400      6600753 : Anzahl Samples (gesamt / je Kanal ??)
0000003E 6461 7461 0CE8 0F00                            data....        <- "data"-Chunk + Größe
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat