0

如何在 C++、Windows 中选择录音设备。我想从 PC 录制声音,并且我想要 C++ 中的一个可以选择设备的功能:线路、麦克风或立体声混音。我不知道该怎么做。请给我看例子或给我链接来学习这个。

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

请帮忙。

4

1 回答 1

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;
}
于 2012-05-28T12:34:46.217 回答