在C++中选择录制设备 (Windows)

Select recording device in C++ (Windows)

本文关键字:Windows C++ 选择      更新时间:2023-10-16

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

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

请帮忙。

你可以尝试通过调用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;
}