An audio session is identified by two (or three) things: The session guid, the process ID and the cross process flag (if the cross process flag is specified when the stream is created, the process ID is ignored).
The simple audio volume controls the volume of all the streams within that audio session. It's fairly straightforward (most rendering frameworks specify NULL for the session GUID). If your application uses a specific session GUID, you should just specify the session GUID your application is using.
There's one other twist though. The volume control (sndvol.exe) combines all sessions with the same "grouping param" together in the UI - this isn't a part of the volume control, it's a UI convenience feature that exists only for web browsers like IE - it exists to allow 3rd party audio frameworks (which specify a GUID_NULL session GUID) and the WMP OCX (which specifies a cross process session with a specific session GUID) to share a single slider in the volume UI.
I think the ISimpleAudioVolume interface should do what you need.It has a method called GetMasterVolume witch returns the volume for the audio session.To obtain the interface you can call IAudioSessionManager::GetSimpleAudioVolume.For the guid parameter you can use the one you specify when creating the audio streams with IAudioClient::Initialize. I honestly don't know if there are other ways to get the guid for a session.The grouping parameter is the id of the group to witch the session belongs and not an id of a session.
Along with new APIs came a number of new concepts, such as audio sessions and device roles. Core Audio is much better suited to the modern era of computing. Today we live in an ecosystem of devices. Users no longer have a single audio adapter and a set of speakers. We have headphones, speakers, bluetooth headsets, USB audio adapters, webcams, HDMI connected devices, WiFi connected devices, etc. Core Audio makes it easy for applications to work with all of these things based on use-case.
Windows Audio Session API (WASAPI) enables client programs to control the audio flow of data between them and a piece of audio endpoint equipment. It permits the transmission of an unaltered bit-stream to a sound device.All audio streams together make up an audio session. Using the session abstraction, a WASAPI user can identify an audio stream as a part of a group of connected audio streams.The system can manage the inputs to the session as a single entity. Applications exchange access to an audio endpoint device through the user-mode audio engine, also known as the audio engine.The audio engine is a bridge between an endpoint buffer and an endpoint device. A program typically writes audio data to a processing endpoint queue when audio streaming is played through a specific device.Assembled by the audio engine are the feeds from the many applications. A program periodically reads audio information from a capture endpoint cache to record an audio stream from the capturing integration node.
In general, higher sound quality consumes more bandwidth and server CPU utilization by sending more audio data to user devices. Sound compression allows you to balance sound quality against overall session performance; use Citrix policy settings to configure the compression levels to apply to sound files.
The Audio Plug N Play policy setting allows or prevents the use of multiple audio devices to record and play sound. This setting is Enabled by default. Audio Plug N Play enables audio devices to be recognized. The devices are recognized even if they are not plugged in until after the user session has started.
If Audio over UDP Real-time Transport is not required for adaptive audio, Citrix recommends configuring the policy setting to Disabled. This helps avoid Citrix Workspace app clients requesting open UDP connections or triggering unwanted Citrix Workspace app client firewall configuration dialog windows to appear.
This app is a quick way to get up and running with the Data Acquisition Toolbox. The app allows a user to quickly discover, connect to, and control their data acquisition card from MATLAB without prior knowledge of the programming interface to Data Acquisition Toolbox. The app provides an easy to use interface to your data acquisition card and allows you to visualize results and save them to a MAT-file. It also allows the user to generate MATLAB code from the interactive work done with the app, which the user can use to automate their data acquisition process, as well as, learn the programming interface from a relevant working example.Features:- Support for audio/analog input, audio/analog output, and non-clocked digital I/O.- Save captured data to MAT-File (File menu)- Generate MATLAB code from interactive work (File menu)- Supports 32-bit and 64-bit Windows versions- Supports both the legacy interface and the session-based interface.Note: Audio support for 64-bit Windows begins in R2014a and requires the Direct Sound HW Support Package (free download via MATLAB's "Add-Ons" button). 2b1af7f3a8