gpt4 book ai didi

winapi - 如何检测系统中是否存在默认记录设备?

转载 作者:行者123 更新时间:2023-12-02 22:35:56 24 4
gpt4 key购买 nike

如何检测系统是否安装了默认记录设备?
我敢打赌,可以通过对Win32 API的一些调用来完成此操作,任何人对此都有任何经验吗?

我说的是通过代码执行此操作,而不是通过打开控制面板并在声音选项下进行查看。

最佳答案

使用DirectX SDK,可以调用DirectSoundCaptureEnumerate,它将为系统上的每个DirectSoundCapture设备调用DSEnumCallback函数。传递给您的DSEnumCallback的第一个参数是LPGUID,它是“标识要枚举的设备的GUID的地址,或者对于主设备为NULL”。

如果您需要做的就是找出是否存在记录设备(如果您真的需要了解默认设备,我认为这还不够好),则可以使用waveInGetNumDevs:

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

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 ) );

// do some stuff with waveInCaps...
}
}

return 0;
}

关于winapi - 如何检测系统中是否存在默认记录设备?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41330/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com