我们有一个应用程序,它使用waveXXX()
和mixerXXX()
功能来处理与某些仪器之间的音频 I/O(想想:示波器或电子设备而不是乐器,这并不重要)。终于到了停止在 Windows XP 上部署它并将其移至 Windows 7 和/或 8 的时候了。
从阅读有关 WASAPI 的各种材料,听起来大部分应用程序(基于waveXXX()
功能)可能实际上工作正常,但mixer()
用于设置主输出音量、线路音量和麦克风静音的东西肯定必须改变,并改用IAudioEndPointVolume调用。
是否可以只更改mixerXXX()
呼叫?这是可取的吗?
从逻辑上讲,此应用程序需要独占使用其音频端点(扬声器输出、线路输入)。如果我想通过软件确保独占访问,那会迫使我也重写所有waveXXX()
代码吗?(另一种方法是警告用户其他音频应用程序可能会干扰此应用程序)。