我想实现读取声卡里的数据,然后分出左右声道,在界面上用两个柱形的高低来去表示,请问各位大侠有没有有关的控件或是资料呢,请大家帮忙,谢谢

解决方案 »

  1.   

    没搞过,不过应该是用Mixer函数。
      

  2.   

    waveoutxx  系列函数
    waveoutopen
    VCKBASE上面有个录音机教程 仔细研究一下就可以解决了
      

  3.   

    waveoutxx 系列函数我现在用的就是,但是采集左右声道的时候数值出现溢出了,
    我用的是我调用了这个结构体
    typedef struct {  
    WORD wFormatTag;   
    WORD nChannels;   
    DWORD nSamplesPerSec;   
    DWORD nAvgBytesPerSec;   
    WORD nBlockAlign;   
    WORD wBitsPerSample;   
    WORD cbSize;} WAVEFORMATEX;  
    第二个WORD nChannels; 指定了通道数1为单声道,2为立体声。  
    第一次我赋值为单声道WAVEFORMATEX sWave={WAVE_FORMAT_PCM,1,22050,22050,1,8,0}; 读取数据正常
    但是当我赋值为双声道sWave={WAVE_FORMAT_PCM,2,22050,22050,2,8,0}后,出现内存只读错误
      

  4.   

    长度应该没有问题,单声道的时候数据存储我用的short类型,双声道之后我改成了int类型,我在网上查过,说的也是这么用