win-wasapi: Add audio stream category selection to microphone capture properties #12795
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Description
Add audio stream category selection to microphone capture properties
Motivation and Context
Different stream attributes will affect the final presentation of the acquired data. For example, AudioCategory_Communications is mainly used to acquire microphone data for communication effects, while AudioCategory_Speech is mainly used to acquire the stream for speech recognition effects. In speech recognition, the data in the microphone will automatically filter out the external sound captured by the microphone.
Please See https://learn.microsoft.com/en-us/windows/win32/api/audiosessiontypes/ne-audiosessiontypes-audio_stream_category
The AUDCLNT_STREAMOPTIONS property sets whether the audio stream will be processed by the system.
Please See https://learn.microsoft.com/en-us/windows/win32/api/audioclient/ne-audioclient-audclnt_streamoptions
Streams that support hardware offloading can significantly reduce CPU utilization.
Please See https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/hardware-offloaded-audio-processing
This is helpful for Microphone output no longer works with Virtual Cable Microphone output no longer works with Virtual Cable #12571
The final appearance of the properties interface is as follows:

How Has This Been Tested?
I have tested it in my complute.
Types of changes
Checklist: