Edit

Share via


Opening and Closing Mixer Devices

[The feature associated with this page, Audio Mixers, is a legacy feature. It has been superseded by Volume Controls. Volume Controls has been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Volume Controls instead of Audio Mixers, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

When you want to use a mixer device, you can either simply begin using it or you can explicitly open the device before using it. Explicitly opening a mixer device offers two main benefits:

  • It guarantees the continued existence of that mixer device.
  • It lets you receive notification of audio line and control changes.

You can use the mixerOpen function to explicitly open a mixer device. This function takes as parameters a device identifier, a pointer to a memory location, and other values unique to each type of device. The memory location is filled with a device handle. Use this device handle to identify the open mixer device when calling other audio mixer functions. As long as a handle of a mixer device exists, the device continues to exist in the system. If a configuration change occurs to the mixer device and it hasn't been explicitly opened, your application might suddenly be unable to access it.

Note

The difference between device identifiers and device handles is important. Device handles are returned when you open a device driver by using mixerOpen. Device identifiers are determined implicitly from the number of devices present in a system; this number is obtained by using the mixerGetNumDevs function.

 

You can use the mixerClose function to close a mixer device. You should close the device after you finish using it.