音频设备输入名称被截断

Audio device input name truncated

本文关键字:输入 音频      更新时间:2023-10-16

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

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 个字符。

如何获取完整名称?

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

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