locked
WASAPI - ducking functionality RRS feed

  • Question

  • Hello everyone,

    In my application I'm using a default communications device, but also offer user an ability to choose another device. As described in WASAPI documentation, Windows 7 offer ducking functionality and I would like to integrate with that.

    I noticed that if I open a default communications device by ID using IMMDeviceEnumerator::GetDevice, ducking in other applications does not work, but if I open the SAME default device using IMMDeviceEnumerator::GetDefaultAudioEndpoint, ducking does work as expected.

    Is this a defect or by design?

    Thanks!

    Tuesday, January 24, 2012 11:08 PM

Answers

  • By design.  If you want to trigger a duck, you need to open a stream using an IMMDevice that you got from GetDefaultAudioEndpoint(eCommunications).
    Matthew van Eerde
    • Marked as answer by PavelSSS Wednesday, January 25, 2012 10:20 PM
    Tuesday, January 24, 2012 11:27 PM

All replies

  • By design.  If you want to trigger a duck, you need to open a stream using an IMMDevice that you got from GetDefaultAudioEndpoint(eCommunications).
    Matthew van Eerde
    • Marked as answer by PavelSSS Wednesday, January 25, 2012 10:20 PM
    Tuesday, January 24, 2012 11:27 PM
  • For example, consider the situation where the default console and default communications device are the same; they will have the same ID.
    Matthew van Eerde
    Wednesday, January 25, 2012 12:25 AM
  • OK, thank you! Just wanted to verify.

    P.S. It would be helpful to note on related MSDN page(s) - it took me some time to discover this. Unless it's already mentioned somewhere and I missed it.

    Wednesday, January 25, 2012 9:25 PM