Конференция "Media" » Передача параметров в Lame
 
  • toboom © (04.10.07 15:26) [0]
    Народы!
    Ни фига не понимаю. Вопрос, конечно, может и не мультимедийный,
    но речь идет о Lame компрессоре.
    Когда-то я уже им пользовался и все было в порядке, а сечас пишу новый проект
    и получается фигня: я хочу писать 32 кбита, а реально пишется нечто с переменным
    битрейтом и звоном каким-то.
    Т.е. я так понимаю DLL-ка неправильно понимает передаваемые мной параметры.
    А что не так не могу въехать.

    Объявления:

     PMp3Rec = ^TMp3Rec;
     {$A-}
     TMp3Rec = Record
     case dwConfig: Cardinal of
     BE_CONFIG_MP3:(
          dwSampleRate: Cardinal;
          byMode: Byte;
          wBitrate: Word;
          bPrivate, bCRC, bCopyright, bOriginal: boolean);
     End;
     {$A+}

    Function beInitStream(Config: Pmp3Rec; dwSamples: Pointer;
      dwBufferSize: Pointer; PStream: PHBE_Stream): Cardinal; CDecl ;
    Function beEncodeChunk1(PStream: HBE_Stream; nSamples: Cardinal;
      pSamples: Pointer; pOutput: Pointer; pdwOutput: Pointer): Cardinal; CDecl;
    и т.д.

    Implementation

     Function beInitStream; external 'lame_enc.dll';
     Function beEncodeChunk; external 'lame_enc.dll';

    И собственно использование:

    Var Mp3: TMP3Rec;
    ...

     With Mp3 Do
     begin
       dwConfig:=BE_CONFIG_MP3;   {BE_CONFIG_MP3 = 0}
       dwSampleRate:=BaseRec.FDiscr; {44100}
       If BaseRec.StereoMode Then byMode:=BE_MP3_MODE_STEREO{0}
                             Else byMode:=BE_MP3_MODE_MONO;{3}
       wBitrate:=BaseRec.BitRate {32};
       bPrivate:=False; bCRC:=False; bCopyright:=False;  bOriginal:=False;
     end;

     Res:=beInitStream(@Mp3, @dwSamples, @dwBufferSize, @MStream[CurEncBuf^.Left]);

     Res:=beEncodeChunk(MStream[CurEncBuf^.Left], dwSamples, A, M, @Z);

    Т.е. штука-то работает, тока непонятно как её заставить делать то, что нужно.
    Впечатление, что неправильно передается эта самая TMP3Rec. Но чего тут не так
    я не пойму.

    Заранее благодарен.
 
Конференция "Media" » Передача параметров в Lame
Есть новые Нет новых   [134431   +10][b:0][p:0]