我使用多种模式(不同的mode, bitrate, samplerate)进行wav to mp3转换,奇怪的是有些模式转换出的mp3声音正常,有些声调细而快,有些粗而慢。不知为何?望高手指教。const
  MP3Options: array[0..14] of TMP3Option = (
    (Mode: MONO; Bitrate: 16; SampleRate: 11025),
    (Mode: MONO; Bitrate: 32; SampleRate: 22050),
    (Mode: MONO; Bitrate: 40; SampleRate: 22050),
    (Mode: MONO; Bitrate: 48; SampleRate: 22050),
    (Mode: MONO; Bitrate: 56; SampleRate: 44100),
    (Mode: MONO; Bitrate: 64; SampleRate: 44100),
    (Mode: STEREO; Bitrate: 32; SampleRate: 11025),
    (Mode: STEREO; Bitrate: 64; SampleRate: 22050),
    (Mode: STEREO; Bitrate: 80; SampleRate: 22050),
    (Mode: STEREO; Bitrate: 96; SampleRate: 22050),
    (Mode: STEREO; Bitrate: 112; SampleRate: 44100),
    (Mode: STEREO; Bitrate: 128; SampleRate: 44100),
    (Mode: STEREO; Bitrate: 128; SampleRate: 48000),
    (Mode: STEREO; Bitrate: 256; SampleRate: 44100),
    (Mode: STEREO; Bitrate: 256; SampleRate: 48000)
     );    LameCoder.Mode := MP3Options[i].Mode;
    LameCoder.Bitrate := MP3Options[i].Bitrate;
    LameCoder.SampleRate := MP3Options[i].SampleRate;

解决方案 »

  1.   

    可能是你没有明白这些意思:
       Mode:        编码模式  MONO 是单声道 STEREO是立体声
       Bitrate:     编码位制波特率  位数越高,每一帧数据占用的字节就越多.
       SampleRate:  采样率  数值越大,产生的数据越多,保真率就越高.
    只要设置好这些就可以了.
    有些声调细而快,是因为采样率太高
    有些粗而慢,是因为采样率太低,可与bitrate不匹配.注意:
        编码后的播放效果与你的音频源也有关系.音频源如果是.MP3格式转换的.WAV,说明它已经被编码失真了.再次转换效果当然不好.
        编码时,要注意以上三个参数的搭配.
      

  2.   

    跟分道,采样率都是没关系的。我没试过lame_enc.dll来做,呵呵
      

  3.   

    既然别人用lame_enc.dll可以做到正常转换,可以断定库是没问题的。可能是按不同模式进行转换时某些参数需要相应的设置。
      

  4.   

    >>可能是按不同模式进行转换时某些参数需要相应的设置。网上不是有GUI界面调用lame_enc.dll的压缩程序吗?找个看看都有哪些参数。