<paramname="X2DEFAULT">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
</summary>
</member>
<membername="IXAudio2::GetPerformanceData">
<summary>
<para>Returns current resource usage details, such as available memory or CPU usage.</para>
<paramname="pPerfData">On success, pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_performance_data">XAUDIO2_PERFORMANCE_DATA</a> structure that is returned.</param>
</summary>
</member>
<membername="IXAudio2Voice::GetVoiceDetails">
<summary>
<para>Returns information about the creation flags, input channels, and sample rate of a voice.</para>
<paramname="pVoiceDetails"><ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_voice_details">XAUDIO2_VOICE_DETAILS</a> structure containing information about the voice.</param>
</summary>
</member>
<membername="IXAudio2::CreateMasteringVoice">
<summary>
<para>Creates and configures a mastering voice.</para>
<paramname="ppMasteringVoice">If successful, returns a pointer to the new <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2masteringvoice">IXAudio2MasteringVoice</a> object.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="Flags">Flags that specify the behavior of the mastering voice. Must be 0.</param>
<paramname="InputChannels">Number of channels the mastering voice expects in its input audio.
<i>InputChannels</i> must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS.
You can set <i>InputChannels</i> to XAUDIO2_DEFAULT_CHANNELS, which causes XAudio2 to try to detect the system speaker configuration setup.</param>
<paramname="InputSampleRate">Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR.
<i>InputSampleRate</i> must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE.
You can set <i>InputSampleRate</i> to XAUDIO2_DEFAULT_SAMPLERATE, with the default being determined by the current platform.
Windows XP defaults to 44100.
Windows Vista and Windows 7 default to the setting specified in the Sound Control Panel. The default for this setting is 44100 (or 48000 if required by the driver).
Flags</param>
<paramname="StreamCategory">The audio stream category to use for this mastering voice.</param>
<paramname="pEffectChain">Pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_effect_chain">XAUDIO2_EFFECT_CHAIN</a> structure that describes an effect chain to use in the mastering voice, or NULL to use no effects.</param>
<paramname="szDeviceId">Identifier of the device to receive the output audio. Specifying the default value of NULL causes XAudio2 to select the global default audio device.</param>
</summary>
</member>
<membername="XAudio2RadiansToCutoffFrequency">
<summary>
<para>Inline function that converts from the radian frequencies used in XAUDIO2_FILTER_PARAMETERS back to absolute frequencies in hertz.</para>
<paramname="Radians">Value of the Frequency member of the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_filter_parameters">XAUDIO2_FILTER_PARAMETERS</a> structure.</param>
<paramname="SampleRate">The sample rate of the audio data affected by the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_filter_parameters">XAUDIO2_FILTER_PARAMETERS</a> structure.</param>
</summary>
</member>
<membername="IXAudio2Voice::EnableEffect">
<summary>
<para>Enables the effect at a given position in the effect chain of the voice.</para>
<paramname="EffectIndex">Zero-based index of an effect in the effect chain of the voice.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
<paramname="EffectIndex">Zero-based index of an effect within the voice's effect chain.</param>
<paramname="pParameters">Returns the current values of the effect-specific parameters.</param>
<paramname="ParametersByteSize">Size of the <b>pParameters</b> array in bytes.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
<para>Inline function that converts from filter cutoff frequencies expressed in hertz to the radian frequency values used in the Frequency member of the XAUDIO2_FILTER_PARAMETERS structure.</para>
<paramname="CutoffFrequency">The cutoff frequency in hertz. Frequencies greater than SampleRate ÷ 6 are clamped to XAUDIO2_MAX_FILTER_FREQUENCY.</param>
<paramname="SampleRate">The sample rate of the audio data affected by the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_filter_parameters">XAUDIO2_FILTER_PARAMETERS</a> structure.</param>
</summary>
</member>
<membername="IXAudio2Voice::GetOutputMatrix">
<summary>
<para>Gets the volume level of each channel of the final output for the voice. These channels are mapped to the input channels of a specified destination voice.</para>
<paramname="pDestinationVoice">Pointer specifying the destination <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2voice">IXAudio2Voice</a> to retrieve the output matrix for.
<divclass="alert"><b>Note</b>If the voice sends to a single target voice then specifying NULL will cause <b>GetOutputMatrix</b> to operate on that target voice.</div>
<div></div></param>
<paramname="SourceChannels">Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain.</param>
<paramname="DestinationChannels">Confirms the input channel count of the destination voice.</param>
<paramname="pLevelMatrix">Array of [<i>SourceChannels</i> * <i>DestinationChannels</i>] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is returned in the form <i>pLevelMatrix</i>[<i>DestinationChannels</i>× S + D]. See Remarks for more information on volume levels.</param>
<paramname="BytesRequired">The number of bytes that must be submitted immediately to avoid starvation. This allows the implementation of just-in-time streaming scenarios; the client can keep the absolute minimum data queued on the voice at all times, and pass it fresh data just before the data is required. This model provides the lowest possible latency attainable with XAudio2. For xWMA and XMA data <i>BytesRequired</i> will always be zero, since the concept of a frame of xWMA or XMA data is meaningless.
<divclass="alert"><b>Note</b>In a situation where there is always plenty of data available on the source voice, <i>BytesRequired</i> should always report zero, because it doesn't need any samples immediately to avoid glitching.</div>
<paramname="pParameters">Pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_filter_parameters">XAUDIO2_FILTER_PARAMETERS</a> structure containing the filter information.</param>
</summary>
</member>
<membername="XAudio2CreateVolumeMeter">
<summary>
<para>Creates a new volume meter audio processing object (APO) and returns a pointer to it.</para>
<paramname="pBufferContext">Context pointer that was assigned to the pContext member of the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer">XAUDIO2_BUFFER</a> structure when the buffer was submitted.</param>
</summary>
</member>
<membername="IXAudio2::UnregisterForCallbacks">
<summary>
<para>Removes an IXAudio2EngineCallback pointer from the XAudio2 engine callback list.</para>
<paramname="pCallback"><ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2enginecallback">IXAudio2EngineCallback</a> pointer to remove from the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2">XAudio2</a> engine callback list.
If the given pointer is present more than once in the list, only the first instance in the list will be removed.</param>
</summary>
</member>
<membername="IXAudio2Voice::SetOutputMatrix">
<summary>
<para>Sets the volume level of each channel of the final output for the voice. These channels are mapped to the input channels of a specified destination voice.</para>
<paramname="pDestinationVoice">Pointer to a destination <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2voice">IXAudio2Voice</a> for which to set volume levels.
<divclass="alert"><b>Note</b>If the voice sends to a single target voice then specifying NULL will cause <b>SetOutputMatrix</b> to operate on that target voice.</div>
<div></div></param>
<paramname="SourceChannels">Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain.</param>
<paramname="DestinationChannels">Confirms the input channel count of the destination voice.</param>
<paramname="pLevelMatrix">Array of [<i>SourceChannels</i>×<i>DestinationChannels</i>] volume levels sent to the destination voice. The level sent from source channel <i>S</i> to destination channel <i>D</i> is specified in the form <i>pLevelMatrix</i>[<i>SourceChannels</i>×<i>D</i> + <i>S</i>].
For example, when rendering two-channel stereo input into 5.1 output that is weighted toward the front channels—but is absent from the center and low-frequency channels—the matrix might have the values shown in the following table.
<table>
<tr>
<th>Output</th>
<th>Left Input [Array Index]</th>
<th>Right Input [Array Index]</th>
</tr>
<tr>
<td>Left</td>
<td>1.0 [0]</td>
<td>0.0 [1]</td>
</tr>
<tr>
<td>Right</td>
<td>0.0 [2]</td>
<td>1.0 [3]</td>
</tr>
<tr>
<td>Front Center</td>
<td>0.0 [4]</td>
<td>0.0 [5]</td>
</tr>
<tr>
<td>LFE</td>
<td>0.0 [6]</td>
<td>0.0 [7]</td>
</tr>
<tr>
<td>Rear Left</td>
<td>0.8 [8]</td>
<td>0.0 [9]</td>
</tr>
<tr>
<td>Rear Right</td>
<td>0.0 [10]</td>
<td>0.8 [11]</td>
</tr>
</table>
<divclass="alert"><b>Note</b>The left and right input are fully mapped to the output left and right channels; 80 percent of the left and right input is mapped to the rear left and right channels.</div>
<div></div>
See Remarks for more information on volume levels.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
<paramname="pBuffer">Pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer">XAUDIO2_BUFFER</a> structure to queue.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="pBufferWMA">Pointer to an additional <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer_wma">XAUDIO2_BUFFER_WMA</a> structure used when submitting WMA data.</param>
</summary>
</member>
<membername="IXAudio2::AddRef">
<summary>
<para>Adds a reference to the XAudio2 object.</para>
<paramname="pBufferContext">Context pointer that was assigned to the <b>pContext</b> member of the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer">XAUDIO2_BUFFER</a> structure when the buffer was submitted.</param>
</summary>
</member>
<membername="IXAudio2Voice::SetVolume">
<summary>
<para>Sets the overall volume level for the voice.</para>
<paramname="Volume">Overall volume level to use. See Remarks for more information on volume levels.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
</summary>
</member>
<membername="IXAudio2::QueryInterface">
<summary>
<para>Queries for a given COM interface on the XAudio2 object.</para>
<paramname="Channels">Confirms the channel count of the voice.</param>
<paramname="pVolumes">Returns the current volume level of each channel in the voice. The array must have at least <i>Channels</i> elements. See Remarks for more information on volume levels.</param>
</summary>
</member>
<membername="IXAudio2Voice::GetVolume">
<summary>
<para>Gets the current overall volume level of the voice.</para>
<paramname="pBufferContext">Context pointer that was assigned to the <b>pContext</b> member of the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer">XAUDIO2_BUFFER</a> structure when the buffer was submitted.</param>
<paramname="Error">The HRESULT code of the error encountered.</param>
</summary>
</member>
<membername="IXAudio2Voice::GetEffectState">
<summary>
<para>Returns the running state of the effect at a specified position in the effect chain of the voice.</para>
<paramname="pParameters">Pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_filter_parameters">XAUDIO2_FILTER_PARAMETERS</a> structure containing the filter information.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
</summary>
</member>
<membername="IXAudio2Voice::GetEffectParameters">
<summary>
<para>Returns the current effect-specific parameters of a given effect in the voice's effect chain.</para>
<paramname="pVoiceState">Pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_voice_state">XAUDIO2_VOICE_STATE</a> structure containing the state of the voice.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="Flags">Flags controlling which voice state data should be returned. Valid values are 0 or <b>XAUDIO2_VOICE_NOSAMPLESPLAYED</b>. The default value is 0. If you specify <b>XAUDIO2_VOICE_NOSAMPLESPLAYED</b>, <b>GetState</b> returns only the buffer state, not the sampler state. <b>GetState</b> takes roughly one-third as much time to complete when you specify
<paramname="pDestinationVoice"><ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2voice">IXAudio2Voice</a> pointer to the destination voice of the send whose filter parameters will be read.</param>
<paramname="pParameters">Pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_filter_parameters">XAUDIO2_FILTER_PARAMETERS</a> structure containing the filter information.</param>
</summary>
</member>
<membername="XAudio2CreateReverb">
<summary>
<para>Creates a new reverb audio processing object (APO), and returns a pointer to it.</para>
<paramname="pCallback"><ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2enginecallback">IXAudio2EngineCallback</a> pointer to add to the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2">XAudio2</a> engine callback list.</param>
<paramname="pChannelmask">Returns the channel mask for this voice. This corresponds to the <b>dwChannelMask</b> member of the <ahref="https://docs.microsoft.com/windows-hardware/drivers/ddi/content/ksmedia/ns-ksmedia-waveformatextensible">WAVEFORMATEXTENSIBLE</a> structure.</param>
</summary>
</member>
<membername="XAudio2Create">
<summary>
<para>Creates a new XAudio2 object and returns a pointer to its IXAudio2 interface.</para>
<paramname="ppXAudio2">If the operation is successful, returns a pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2">IXAudio2</a> object.</param>
<paramname="Flags">Flags that specify the behavior of the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2">IXAudio2</a> object. The value of this parameter must be 0.</param>
<paramname="XAudio2Processor">
<para>
An <ahref="https://docs.microsoft.com//windows/desktop/xaudio2/uint32-xaudio2-processor">XAUDIO2_PROCESSOR</a>-typed value that specifies which CPU to use. If multiple bits are specified, the system will create a separate worker thread for each processor.
</para>
<para>
<ahref="https://docs.microsoft.com//windows/desktop/xaudio2/uint32-xaudio2-processor">XAUDIO2_PROCESSOR</a> default value is XAUDIO2_DEFAULT_PROCESSOR.
</para>
<para>
<b>Warning</b> If you specify <ahref="https://docs.microsoft.com//windows/desktop/xaudio2/uint32-xaudio2-processor">XAUDIO2_ANY_PROCESSOR</a>, the system will use all of the device's processors and, as noted above, create a worker thread for each processor.
</para>
<para>
<b>Note</b>Specifying a processor should generally be avoided because it can interfere with the scheduler's ability to schedule threads effectively across processors. Instead, pass the XAUDIO2_DEFAULT_PROCESSOR value (see below).
</para>
<para>The special XAUDIO2_DEFAULT_PROCESSOR value causes XAudio2 to use its default processor.</para>
</param>
</summary>
</member>
<membername="IXAudio2::SetDebugConfiguration">
<summary>
<para>Changes global debug logging options for XAudio2.</para>
<paramname="pDebugConfiguration">Pointer to a <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_debug_configuration">XAUDIO2_DEBUG_CONFIGURATION</a> structure that contains the new debug configuration.</param>
</summary>
</member>
<membername="IXAudio2::CreateSourceVoice">
<summary>
<para>Creates and configures a source voice.</para>
<paramname="ppSourceVoice">If successful, returns a pointer to the new <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2sourcevoice">IXAudio2SourceVoice</a> object.</param>
<paramname="pSourceFormat">Pointer to a one of the structures in the table below. This structure contains the expected format for all audio buffers submitted to the source voice.
<li>16-bit integer PCM (optimal format for XAudio2)
</li>
<li>20-bit integer PCM (either in 24 or 32 bit containers)
</li>
<li>24-bit integer PCM (either in 24 or 32 bit containers)
</li>
<li>32-bit integer PCM
</li>
<li>32-bit float PCM (preferred format after 16-bit integer)
</li>
</ul>
The number of channels in a source voice must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. The sample rate of a source voice must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE.
<divclass="alert"><b>Note</b>PCM data formats such as <ahref="https://docs.microsoft.com/previous-versions/dd743663(v=vs.85)">PCMWAVEFORMAT</a> and <b>ADPCMWAVEFORMAT</b> that require more information than provided by <b>WAVEFORMATEX</b> have a <b>WAVEFORMATEX</b> structure as the first member in their format structures. When you create a source voice with one of those formats, cast the format's structure as a <b>WAVEFORMATEX</b> structure and use it as the value for <i>pSourceFormat</i>.</div>
<div></div></param>
<paramname="X2DEFAULT">TBD</param>
<paramname="Flags">Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following:
<table>
<tr>
<th>Value</th>
<th>Description</th>
</tr>
<tr>
<td>XAUDIO2_VOICE_NOPITCH</td>
<td>No pitch control is available on the voice.</td>
</tr>
<tr>
<td>XAUDIO2_VOICE_NOSRC</td>
<td>No sample rate conversion is available on the voice.
The voice's outputs must have the same sample rate.<divclass="alert"><b>Note</b>The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified.</div>
<div></div>
</td>
</tr>
<tr>
<td>XAUDIO2_VOICE_USEFILTER</td>
<td>The filter effect should be available on this voice.</td>
</tr>
</table>
<divclass="alert"><b>Note</b>The XAUDIO2_VOICE_MUSIC flag is not supported on Windows.</div>
<div></div></param>
<paramname="MaxFrequencyRatio">Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between XAUDIO2_MIN_FREQ_RATIO and XAUDIO2_MAX_FREQ_RATIO. Subsequent calls to <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nf-xaudio2-ixaudio2sourcevoice-setfrequencyratio">IXAudio2SourceVoice::SetFrequencyRatio</a> are clamped between XAUDIO2_MIN_FREQ_RATIO and <b>MaxFrequencyRatio</b>.
The maximum value for this argument is defined as XAUDIO2_MAX_FREQ_RATIO, which allows pitch to be raised by up to 10 octaves.
If <i>MaxFrequencyRatio</i> is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0).
<table>
<tr>
<th>Xbox 360</th>
</tr>
<tr>
<td>For XMA voices, there is one more restriction on the <i>MaxFrequencyRatio</i> argument and the voice's sample rate. The product of these two numbers cannot exceed XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MONO for one-channel voices or XAUDIO2_MAX_RATIO_TIMES_RATE_XMA_MULTICHANNEL for voices with any other number of channels. If the value specified for <i>MaxFrequencyRatio</i> is too high for the specified format, the call to <b>CreateSourceVoice</b> fails and produces a debug message.
</td>
</tr>
</table>
<divclass="alert"><b>Note</b>You can use the lowest possible <i>MaxFrequencyRatio</i> value to reduce XAudio2's memory usage.</div>
<div></div></param>
<paramname="pCallback">Pointer to a client-provided callback interface, <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2voicecallback">IXAudio2VoiceCallback</a>.</param>
<paramname="pEffectChain">Pointer to a list of <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_effect_chain">XAUDIO2_EFFECT_CHAIN</a> structures that describe an effect chain to use in the source voice.</param>
<paramname="pSendList">Pointer to a list of <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_voice_sends">XAUDIO2_VOICE_SENDS</a> structures that describe the set of destination voices for the source voice. If pSendList is NULL, the send list defaults to a single output to the first mastering voice created.</param>
</summary>
</member>
<membername="XAudio2DecibelsToAmplitudeRatio">
<summary>
<para>Inline function that converts a decibel value to an amplitude ratio value.</para>
<paramname="ppSubmixVoice">On success, returns a pointer to the new <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2submixvoice">IXAudio2SubmixVoice</a> object.</param>
<paramname="InputChannels">Number of channels in the input audio data of the submix voice.
<i>InputChannels</i> must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS.</param>
<paramname="InputSampleRate">Sample rate of the input audio data of submix voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. <i>InputSampleRate</i> must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="Flags">Flags that specify the behavior of the submix voice. It can be 0 or the following:
<table>
<tr>
<th>Value</th>
<th>Description</th>
</tr>
<tr>
<td>XAUDIO2_VOICE_USEFILTER</td>
<td>The filter effect should be available on this voice.</td>
</tr>
</table></param>
<paramname="ProcessingStage">An arbitrary number that specifies when this voice is processed with respect to other submix voices, if the XAudio2 engine is running other submix voices. The voice is processed after all other voices that include a smaller <i>ProcessingStage</i> value and before all other voices that include a larger <i>ProcessingStage</i> value. Voices that include the same <i>ProcessingStage</i> value are processed in any order. A submix voice cannot send to another submix voice with a lower or equal <i>ProcessingStage</i> value. This prevents audio being lost due to a submix cycle.</param>
<paramname="pEffectChain">Pointer to a list of <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_effect_chain">XAUDIO2_EFFECT_CHAIN</a> structures that describe an effect chain to use in the submix voice.</param>
<paramname="pSendList">Pointer to a list of <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_voice_sends">XAUDIO2_VOICE_SENDS</a> structures that describe the set of destination voices for the submix voice. If <i>pSendList</i> is NULL, the send list will default to a single output to the first mastering voice created.</param>
</summary>
</member>
<membername="IXAudio2SourceVoice::Stop">
<summary>
<para>Stops consumption of audio by the current voice.</para>
<paramname="Flags">Flags that control how the voice is stopped. Can be 0 or the following:
<table>
<tr>
<th>Value</th>
<th>Description</th>
</tr>
<tr>
<td>XAUDIO2_PLAY_TAILS</td>
<td>Continue emitting effect output after the voice is stopped.</td>
</tr>
</table></param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
</summary>
</member>
<membername="IXAudio2VoiceCallback">
<summary>
<para>The IXAudio2VoiceCallback interface contains methods that notify the client when certain events happen in a given IXAudio2SourceVoice.</para>
<paramname="pSendList">Array of <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_voice_sends">XAUDIO2_VOICE_SENDS</a> structure pointers to destination voices. If <i>pSendList</i> is NULL, the voice will send its output to the current mastering voice. To set the voice to not send its output anywhere set the <b>OutputCount</b> member of <b>XAUDIO2_VOICE_SENDS</b> to 0. All of the voices in a send list must have the same input sample rate, see <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-sample-rate-conversions">XAudio2 Sample Rate Conversions</a> for additional information.</param>
<paramname="Ratio">Frequency adjustment ratio. This value must be between XAUDIO2_MIN_FREQ_RATIO and the <i>MaxFrequencyRatio</i> parameter specified when the voice was created (see <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nf-xaudio2-ixaudio2-createsourcevoice">IXAudio2::CreateSourceVoice</a>). XAUDIO2_MIN_FREQ_RATIO currently is 0.0005, which allows pitch to be lowered by up to 11 octaves.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
<paramname="pDestinationVoice"><ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/nn-xaudio2-ixaudio2voice">IXAudio2Voice</a> pointer to the destination voice of the send whose filter parameters will be set.</param>
<paramname="pParameters">Pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_filter_parameters">XAUDIO2_FILTER_PARAMETERS</a> structure containing the filter information.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
</summary>
</member>
<membername="IXAudio2Voice::SetEffectChain">
<summary>
<para>Replaces the effect chain of the voice.</para>
<paramname="pEffectChain">Pointer to an <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_effect_chain">XAUDIO2_EFFECT_CHAIN</a> structure that describes the new effect chain to use. If NULL is passed, the current effect chain is removed.
<divclass="alert"><b>Note</b>If <i>pEffectChain</i> is non-NULL, the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_effect_chain">XAUDIO2_EFFECT_CHAIN</a> structure that it points to must specify at least one effect.</div>
<div></div></param>
</summary>
</member>
<membername="IXAudio2Voice::DisableEffect">
<summary>
<para>Disables the effect at a given position in the effect chain of the voice.</para>
<paramname="EffectIndex">Zero-based index of an effect in the effect chain of the voice.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
</summary>
</member>
<membername="IXAudio2SubmixVoice">
<summary>
<para>A submix voice is used primarily for performance improvements and effects processing.</para>
<para>Inline function that converts from filter cutoff frequencies expressed in hertz to the filter coefficients used with the Frequency member of the XAUDIO2_FILTER_PARAMETERS structure.</para>
<paramname="CutoffFrequency">The cutoff frequency in hertz. Frequencies greater than <i>SampleRate</i> are clamped to XAUDIO2_MAX_FILTER_FREQUENCY.</param>
<paramname="SampleRate">The sample rate of the audio data affected by the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_filter_parameters">XAUDIO2_FILTER_PARAMETERS</a> structure.</param>
</summary>
</member>
<membername="IXAudio2SourceVoice::Start">
<summary>
<para>Starts consumption and processing of audio by the voice. Delivers the result to any connected submix or mastering voices, or to the output device.</para>
<paramname="Flags">Flags that control how the voice is started. Must be 0.</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
<paramname="pBufferContext">Context pointer assigned to the <b>pContext</b> member of the <ahref="https://docs.microsoft.com/windows/desktop/api/xaudio2/ns-xaudio2-xaudio2_buffer">XAUDIO2_BUFFER</a> structure when the buffer was submitted.</param>
</summary>
</member>
<membername="IXAudio2Voice::SetChannelVolumes">
<summary>
<para>Sets the volume levels for the voice, per channel.</para>
<paramname="Channels">Number of channels in the voice.</param>
<paramname="pVolumes">Array containing the new volumes of each channel in the voice. The array must have <i>Channels</i> elements. See Remarks for more information on volume levels.</param>
<paramname="X2DEFAULT">TBD</param>
<paramname="OperationSet">Identifies this call as part of a deferred batch. See the <ahref="https://docs.microsoft.com/windows/desktop/xaudio2/xaudio2-operation-sets">XAudio2 Operation Sets</a> overview for more information.</param>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.