In Vista, there are four different volume control methods for any one audio stream. They are:
1. Stream Volume
2. Simple Volume
3. Channel Volume
4. EndPoint Volume
Since each method is a gain stage, each Can be added to the audio input samples and generate the final audio output stream.
Each WASAPI instance in the diagram represents an audio stream that is combined in an audio synthesizer and "flows" to the audio driver. Stream volume, simple volume, and channel volume are all achieved by inserting an APO into a separate audio stream, while the endpoint volume is either added to the APO behind the synthesizer or processed with hardware volume control, depending on the user's audio resolution. The function of the program.
then these different audio control what links it?
first to say something about the volume flow. Stream volume is a multi-channel volume that works for each audio stream, allowing the application to implement some relatively simple 3D effects (using multi-channel stream volume control to simulate a position change after an active ball is bounced) . You can let the app control the volume of an individual audio stream, but this is less demanding.
Next is the channel volume. The channel volume is the volume for the audio session and is used to control the volume of all audio streams throughout the session (if you remember the "big picture" post, it tells you that a session contains a lot of audio streams). The channel volume is due to the waveOutSetVolume API - since the waveform volume is multi-channel (stereo) volume, we have to simulate one in WASAPI. Again, this volume is rarely used - usually only when the system installation task (room correction) is run from the control panel, the channel volume is changed, so this setting affects all applications and not only Only for a specific application).
Then come the simple volume. The simple volume is the volume of the pair of audio sessions and is used to control the volume of all audio streams throughout the session. It is a uniform volume that is applied to all channels on average. This is also the volume control method we want most applications to use - because it provides a simple way to control the volume and mute state of the application, which is sufficient for most applications. This volume is actually the volume slider for each application displayed in the Vista Sound Mixer.
Logically, you can apply the above three volumes together (but this is not true, they are actually applied at the same time) to create a final volume for each audio stream. Finally, we end
volume terms. As I mentioned before, the endpoint volume represents the master output output, which acts on the final synthesized audio stream and acts as a master volume control for a particular endpoint.