Win32音频API endpointVolume接口返回错误的通道计数
Win32 Audio API endpointVolume interface returning wrong channel count
我有一个使用win32音频API的声音应用程序。问题是当我调用:
endpointVolume->getChannelCount(&count);
它返回2个通道(但在windows中启用了6个通道)。我知道它们都是有效的,因为我得到了扬声器的输出,我也检查了峰值:
IAudioMeterInformation->getMeteringChannelCount()
得到6个通道,峰值大于0。所以有输出。有人知道为什么会这样吗?这是一个bug还是一个编码糟糕的驱动程序?我能通过其他方式得到音量值吗?
我在msdn上发现了一个链接,上面有一个人描述了一个类似的问题,总结一下,下面是你应该做的:
- 使用QueryHardwareSupport检查设备的卷是否来自驱动程序或APO。
- 通知微软这个bug(即使他们可能不会做任何事情)。
- 玩弄你使用的api,看看是否可以修复它(随机函数调用等…)。
- 假设这不起作用,使用另一个api来获取通道数。
- 如果所有这些都失败了,买一个不同的声卡,因为那一个显然不能正常工作。
如果您准备自己的缓冲区来播放音频,您可以自己获取音量。如果您愿意,我将粘贴一些代码来完成此操作…
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- vector.resize()中的分配错误
- 代码在main()中运行,但在函数中出现错误
- 释放错误后堆使用
- (C++)分析树以计算返回错误值的简单算术表达式
- Project Euler问题4的错误解决方案
- 我的字符计数代码计算错误.为什么
- 从"int*"强制转换为"unsigned int"会丢失精度错误
- 尝试导入pybind-opencv模块时出现libgtk错误
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 合并灰色通道时分割核心转储错误
- 创建自定义tcl通道驱动程序时出现分段错误
- Win32音频API endpointVolume接口返回错误的通道计数
- 错误:当通过P2P通道连接两个NodeContainers时,期望主表达式在ns3中的const之前
- OpenCV错误cvtColor需要1通道图像以及如何修复