我試圖解決一個錯誤的Audacity圍繞portmixer旋轉。輸出/輸入級別可以使用portmixer的mac版本進行設置,但並不總是在Windows中。我正在調試portmixer的窗口代碼,試圖使它在那裏工作。爲什麼我不能設置主音量的USB /火線音頻接口與IAudioEndpointVolume :: SetMasterVolumeLevelScalar
使用IAudioEndpointVolume :: SetMasterVolumeLevelScalar設置主音量對板載聲音可以正常工作,但使用專業外置USB或火線接口(如RME Fireface 400),輸出音量不會改變,儘管它反映在Window的聲音控制該設備的面板以及系統混音器。
此外,在我們的程序之外,更改系統混音器的主滑塊(在任務欄中)沒有任何效果 - 聲卡輸出相同(完整)級別,無論系統所在的級別如何。改變輸出級別的唯一方法是使用硬件開發人員使用該卡製作的自定義應用程序。
IAudioEndpointVolume :: QueryHardwareSupport函數返回ENDPOINT_HARDWARE_SUPPORT_VOLUME,所以它應該能夠做到這一點。
這種行爲存在輸入和輸出在許多設備上。
這可能是一個窗口的錯誤嗎?
可以通過模擬(縮放)輸出來解決此問題,但這不是首選,因爲它在功能上並不相同 - 最好讓音頻接口進行縮放(尤其是對於包含前置放大器的輸入) 。
也許該設備沒有真正實現標準的Windows方法。你可以嘗試調試供應商的應用程序,看看它在做什麼。它可能會發送一些自定義命令或其他東西。 – Luke 2010-12-08 16:47:55