1

我正在尝试使用以下代码获取音频输入设备名称:

WAVEINCAPS woc;
unsigned long iNumDevs = waveInGetNumDevs(); 
for (unsigned long i = 0; i < iNumDevs; i++) 
{ 
    if (!waveInGetDevCaps(i, &woc, sizeof(WAVEINCAPS))) 
    {
        devices.push_back(woc.szPname);
    } 
}

当我查看时devices,有所有输入设备名称,但所有名称都被截断为 32 个字符。

我怎样才能得到完整的名字?

4

1 回答 1

0

该结构的szPname成员WAVEINCAPS仅限于MAXPNAMELEN字符,定义为 32 个。

您可以尝试使用可能没有此限制的另一种技术进行枚举,例如使用DirectSound

于 2013-10-08T21:19:20.080 回答