如题!
acm编码怎么使用,是不是还有其他方法,需要源码

解决方案 »

  1.   

    看看www.mp3-tech.org或许会有帮助。上面无论资料还是源代码都很全的。
      

  2.   

    我记得利用mediaplayer就可以做到的,
    例如,一面播放wave文件,一面打开record,
    并指定用mp3记录,结果就会生成一个与wave文件同名的wp3文件。这是我以前确实试验成功的。
      

  3.   

    我需要在Internet上传输,如qq语音聊天 谢谢
      

  4.   

    我只想要G72X的delphi编解码,怎么就这么难!!!!
      

  5.   

    g729.a g723.1 都是比较好的压缩算法
    一般都是C,自己弄dll调用好了
    http://www.programsalon.com/
    这里有好多算法,自己下,要注册才可以
      

  6.   

    那位帮忙把下面的代码翻译一下
    #include "stdafx.h"
    #include "AudioCode.h"extern "C" void va_g729a_init_encoder();
    extern "C" void va_g729a_encoder(short *speech, unsigned char *bitstream);
    extern "C" void va_g729a_init_decoder();
    extern "C" void va_g729a_decoder(unsigned char *bitstream, short *synth_short, int bfi);
    #define  L_FRAME_COMPRESSED 10
    #define  L_FRAME            80
    #define SIZE_AUDIO_FRAME 960
    #define SIZE_AUDIO_PACKED 60
    #pragma comment(lib,"G729a")CAudioCode::CAudioCode()
    {
    va_g729a_init_encoder();
    va_g729a_init_decoder();
    }CAudioCode::~CAudioCode()
    {
    }BOOL CAudioCode::EncodeAudioData(char *pin,int len,char* pout,int* lenr)
    {
    BOOL bRet=FALSE;
    if(!pin||len!=SIZE_AUDIO_FRAME||!pout)
    goto RET;

    va_g729a_encoder((short*)pin,(BYTE*)pout);
    va_g729a_encoder((short*)(pin+160),(BYTE*)pout+10);
    va_g729a_encoder((short*)(pin+320),(BYTE*)pout+20);
    va_g729a_encoder((short*)(pin+480),(BYTE*)pout+30);
    va_g729a_encoder((short*)(pin+640),(BYTE*)pout+40);
    va_g729a_encoder((short*)(pin+800),(BYTE*)pout+50); if(lenr)
    *lenr=SIZE_AUDIO_PACKED; bRet=TRUE;
    RET:
    return bRet;
    }BOOL CAudioCode::DecodeAudioData(char *pin,int len,char* pout,int* lenr)
    {
    BOOL bRet=FALSE;
    if(!pin||len!=SIZE_AUDIO_PACKED||!pout)
    goto RET; va_g729a_decoder((BYTE*)pin,(short*)(pout),0);
    va_g729a_decoder((BYTE*)pin+10,(short*)(pout+160),0);
    va_g729a_decoder((BYTE*)pin+20,(short*)(pout+320),0);
    va_g729a_decoder((BYTE*)pin+30,(short*)(pout+480),0);
    va_g729a_decoder((BYTE*)pin+40,(short*)(pout+640),0);
    va_g729a_decoder((BYTE*)pin+50,(short*)(pout+800),0); if(lenr)
    *lenr=SIZE_AUDIO_FRAME;

    bRet=TRUE;
    RET:
    return bRet;
    }
      

  7.   

    如果要翻译也不止这一个文件,还有一个AudioCode.h文件其中包含的是声名,另外还需要研究研究AudioCode.C文件,LZ麻烦啊!
      

  8.   

    我觉得你可以换个思路,不用这么复杂。
    因为类似g72X,mp3之类的,都是在系统的编码里面有的,当然,没有的话安装一下就可以了。
    所以你可以直接用 windows的ACM方面的接口进行数据录音和格式转换就可以了
    而且网上有现成的代码。好像是acmin  acmout之类的吧,记不太清楚了
      

  9.   

    谁有delphi的g726编码,解决把分奉上
      

  10.   

    delphi的一般都没有的,只是说有一些好心的,把DLL的接口翻译了而已。
      

  11.   

    是啊,你用ACM控件吧,专业做音频传输的,如果下载不到,我可以发给你,
      

  12.   

    deAudio v2.7 (音频转换处理)
    http://www.2ccc.com/article.asp?articleid=3796Audio Components Suite v2.2
    Audio Components Suite,一套跨平台的音频处理组件包:
    1、支持音频回放、捕捉。
    2、CD-ROM回放、CDDA捕捉。
    3、Wave流支持。
    4、MP3、Ogg、FLAC、Monkey等格式支持。
    5、音频混响处理。
    6、输入设备动态捕捉。
    7、音频格式转换。
    8、声音音频指示器。
    9、其他一些特效。
    -----------------------------------------------------
    Base Classes
     TACSConverter
     TACSFileIn
     TACSFileOut
     TACSInput
     TACSOutput
     TACSStreamedInput
     TACSStreamedOutputAudio I/O
     TALSAAudioIn (Linux only)
     TALSAAudioOut (Linux only)
     TAOLive (Linux only)
     TAudioIn
     TAudioOut
     TCDIn
     TCDPlayer
     TFLACIn
     TFLACOut
     TInputList
     TMACIn (Windows only)
     TMACOut (Windows only)
     TMemoryIn
     TMixer (Linux only)
     TMP3Out
     TMP3ToWav
     TMPEGIn (Linux only)
     TNULLOut
     TStreamIn
     TStreamOut
     TVorbisIn
     TVorbisOut
     TWaveIn
     TWaveOutAudio Processing
     TAudioMixer
     TAudioProcessor
     TBWFilter
     TConvolver
     TMSConverter
     TRateConverter
     TSampleConverter
     TSincFilter
     TSoundIndicator
     TStereoBalance
    http://www.2ccc.com/article.asp?articleid=766