用C ++选择录制设备(Windows)

时间:2012-05-28 11:55:26

标签: c++ windows audio-recording

如何在C ++,Windows中选择录制设备。我想从PC录制声音,我想要一个C ++函数可以选择设备:Line,Microphone或Stereo Mix。我不知道该怎么做。请告诉我示例或给我链接以了解这一点。

我发现了一些与C ++相关的东西,但是效果不好: http://forums.codeguru.com/showthread.php?t=449213

请帮忙。

1 个答案:

答案 0 :(得分:2)

您可以尝试调用waveInGetNumDevs

  

waveInGetNumDevs函数返回波形音频的数量   输入设备存在于系统中。

UINT waveInGetNumDevs(VOID);
  

返回设备数量。返回值为零意味着没有   设备存在或发生错误。

以下是一个例子:

#include <tchar.h>
#include <windows.h>
#include "mmsystem.h"

#pragma comment(lib, "winmm.lib")

int _tmain( int argc, wchar_t *argv[] )
{
    UINT deviceCount = waveInGetNumDevs();

    if ( deviceCount > 0 )
    {
        for ( int i = 0; i < deviceCount; i++ )
        {
            WAVEINCAPSW waveInCaps;    
            waveInGetDevCapsW( i, &waveInCaps, sizeof( WAVEINCAPS ) );

            //Your code here
        }
    }

    return 0;
}