[WIN32] Ouvrir du mp3 VBR avec les fonctions acm* et la lib winmm

Ouvrir du mp3 VBR avec les fonctions acm* et la lib winmm [WIN32] - C++ - Programmation

Marsh Posté le 03-06-2005 à 21:42:46    

Bonjour,
 
Sous Windows et en C(++), je souhaite ouvrir un mp3 avec les fonctions acm* et la lib winmm.
Mon code fonctionne pour du CBR mais pas VBR :(
 
voici comment je remplis ma WAVEFORMATEX (code trouvé sur internet..) pour du CBR
 
  // define MP3 input format
  LPMPEGLAYER3WAVEFORMAT mp3format = (LPMPEGLAYER3WAVEFORMAT) LocalAlloc( LPTR, maxFormatSize );
  mp3format->wfx.cbSize = MPEGLAYER3_WFX_EXTRA_BYTES;
  mp3format->wfx.wFormatTag = WAVE_FORMAT_MPEGLAYER3;
  mp3format->wfx.nChannels = 2;
  mp3format->wfx.nAvgBytesPerSec = 64 * (1024 / 8);  // not really used but must be one of 64, 96, 112, 128, 160kbps
  mp3format->wfx.wBitsPerSample = 0;                  // MUST BE ZERO
  mp3format->wfx.nBlockAlign = 1;                     // MUST BE ONE
  mp3format->wfx.nSamplesPerSec = 44100;              // 44.1kHz
  mp3format->fdwFlags = MPEGLAYER3_FLAG_PADDING_OFF;
  mp3format->nBlockSize = MP3_BLOCK_SIZE;             // voodoo value #1
  mp3format->nFramesPerBlock = 1;                     // MUST BE ONE
  mp3format->nCodecDelay = 1393;                      // voodoo value #2
  mp3format->wID = MPEGLAYER3_ID_MPEG;
 
 
Pour le VBR, j'ai trouvé ça :
http://msdn.microsoft.com/library/ [...] gmodes.asp
 
Selon cette page, il me faut changer la qualité en  
mp3format->wfx.nAvgBytesPerSec = 0x7FFFFF5A;
5A pour qualité 90 (de 0 à 100)
Dans mon logiciel d'encodage le niveau de qualité est gradué de 0 à 9 donc j'ai mis 90.
 
Quelqu'un a une idée ou a déjà réussi à lire du vbr de cette facon ?
Merci 1000 fois.

Reply

Marsh Posté le 03-06-2005 à 21:42:46   

Reply

Marsh Posté le 05-09-2005 à 09:00:48    

Tu as plus d'infos sur le sujet ? si oui je suis preneur ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed