SharpDX.XAudio2 XAPO XAUDIO2_EFFECT_DESCRIPTOR Initializes a new instance of the class with a Stereo Effect. The effect. Initializes a new instance of the class. The effect. The output channel count. No documentation. IUnknown* pEffect No documentation. unsigned int OutputChannels Gets or sets the AudioProcessor. The AudioProcessor cannot be set more than one. The effect. No documentation. BOOL InitialState IXAudio2SourceVoice::SubmitSourceBuffer XAUDIO2_BUFFER Constant LoopInfinite. XAUDIO2_LOOP_INFINITE No documentation. XAUDIO2_BUFFER_FLAGS Flags No documentation. unsigned int AudioBytes No documentation. const unsigned char* pAudioData No documentation. unsigned int PlayBegin No documentation. unsigned int PlayLength No documentation. unsigned int LoopBegin No documentation. unsigned int LoopLength No documentation. unsigned int LoopCount No documentation. void* pContext Gets or sets the datastream associated to this audio buffer The stream. The IXAudio2EngineCallback interface contains methods that notify the client when certain events happen in the engine. This interface should be implemented by the XAudio2 client. XAudio2 calls these methods via an interface pointer provided by the client, using either the {{XAudio2Create}} or method. Methods in this interface return void, rather than an HRESULT. IXAudio2EngineCallback IXAudio2 IXAudio2EngineCallback Called by XAudio2 just before an audio processing pass begins. void IXAudio2EngineCallback::OnProcessingPassStart() Called by XAudio2 just after an audio processing pass ends. void IXAudio2EngineCallback::OnProcessingPassEnd() Called if a critical system error occurs that requires XAudio2 to be closed down and restarted. Error code returned by XAudio2. void IXAudio2EngineCallback::OnCriticalError([None] HRESULT Error) Internal EngineCallback Callback Impl Return a pointer to the unamanged version of this callback. The callback. A pointer to a shadow c++ callback Called by XAudio2 just after an audio processing pass ends. void IXAudio2EngineCallback::OnProcessingPassEnd() Called if a critical system error occurs that requires XAudio2 to be closed down and restarted. This pointer Error code returned by XAudio2. void IXAudio2EngineCallback::OnCriticalError([None] HRESULT Error) EventArgs used by . Initializes a new instance of the class. The error code. Gets or sets the error code. The error code. XAudio2FxContants Functions. Constant None. Constant None. Constant None. Constant None. No documentation. XAUDIO2_BUFFER_FLAGS No documentation. XAUDIO2_END_OF_STREAM None. None typedef enum { LowPassFilter, BandPassFilter, HighPassFilter, NotchFilter } ; XAUDIO2_FILTER_TYPE No documentation. LowPassFilter No documentation. BandPassFilter No documentation. HighPassFilter No documentation. NotchFilter No documentation. XAUDIO2_LOG_TYPE No documentation. XAUDIO2_LOG_ERRORS No documentation. XAUDIO2_LOG_WARNINGS No documentation. XAUDIO2_LOG_INFO No documentation. XAUDIO2_LOG_DETAIL No documentation. XAUDIO2_LOG_API_CALLS No documentation. XAUDIO2_LOG_FUNC_CALLS No documentation. XAUDIO2_LOG_TIMING No documentation. XAUDIO2_LOG_LOCKS No documentation. XAUDIO2_LOG_MEMORY No documentation. XAUDIO2_LOG_STREAMING No documentation. XAUDIO2_PLAY_FLAGS No documentation. XAUDIO2_PLAY_TAILS None. None typedef enum { Processor1 = 0x00000001, Processor2 = 0x00000002, Processor3 = 0x00000004, Processor4 = 0x00000008, Processor5 = 0x00000010, Processor6 = 0x00000020, Processor7 = 0x00000040, Processor8 = 0x00000080, Processor9 = 0x00000100, Processor10 = 0x00000200, Processor11 = 0x00000400, Processor12 = 0x00000800, Processor13 = 0x00001000, Processor14 = 0x00002000, Processor15 = 0x00004000, Processor16 = 0x00008000, Processor17 = 0x00010000, Processor18 = 0x00020000, Processor19 = 0x00040000, Processor20 = 0x00080000, Processor21 = 0x00100000, Processor22 = 0x00200000, Processor23 = 0x00400000, Processor24 = 0x00800000, Processor25 = 0x01000000, Processor26 = 0x02000000, Processor27 = 0x04000000, Processor28 = 0x08000000, Processor29 = 0x10000000, Processor30 = 0x20000000, Processor31 = 0x40000000, Processor32 = 0x80000000, = 0xffffffff, = } , XAUDIO2_PROCESSOR; XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER No documentation. Processor1 No documentation. Processor2 No documentation. Processor3 No documentation. Processor4 No documentation. Processor5 No documentation. Processor6 No documentation. Processor7 No documentation. Processor8 No documentation. Processor9 No documentation. Processor10 No documentation. Processor11 No documentation. Processor12 No documentation. Processor13 No documentation. Processor14 No documentation. Processor15 No documentation. Processor16 No documentation. Processor17 No documentation. Processor18 No documentation. Processor19 No documentation. Processor20 No documentation. Processor21 No documentation. Processor22 No documentation. Processor23 No documentation. Processor24 No documentation. Processor25 No documentation. Processor26 No documentation. Processor27 No documentation. Processor28 No documentation. Processor29 No documentation. Processor30 No documentation. Processor31 No documentation. Processor32 No documentation. XAUDIO2_ANY_PROCESSOR No documentation. XAUDIO2_DEFAULT_PROCESSOR No documentation. XAUDIO2_VOICE_FLAGS No documentation. XAUDIO2_VOICE_NOPITCH No documentation. XAUDIO2_VOICE_NOSRC No documentation. XAUDIO2_VOICE_MUSIC No documentation. XAUDIO2_VOICE_NOSAMPLESPLAYED None. None No documentation. XAUDIO2_VOICE_SEND_FLAGS No documentation. XAUDIO2_VOICE_USEFILTER None. None No documentation. XAUDIO2_FLAGS None. None Functions IXAudio2 No documentation. No documentation. No documentation. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT XAudio2Create([Out, Fast] IXAudio2** ppXAudio2,[In] unsigned int Flags,[In] unsigned int XAudio2Processor) ReverbConvertI3DL2ToNative XAUDIO2FX_REVERB_I3DL2_PARAMETERS No documentation. float WetDryMix No documentation. int Room No documentation. int RoomHF No documentation. float RoomRolloffFactor No documentation. float DecayTime No documentation. float DecayHFRatio No documentation. int Reflections No documentation. float ReflectionsDelay No documentation. int Reverb No documentation. float ReverbDelay No documentation. float Diffusion No documentation. float Density No documentation. float HFReference typedef struct { float WetDryMix; UINT32 ReflectionsDelay; BYTE ReverbDelay; BYTE RearDelay; BYTE PositionLeft; BYTE PositionRight; BYTE PositionMatrixLeft; BYTE PositionMatrixRight; BYTE EarlyDiffusion; BYTE LateDiffusion; BYTE LowEQGain; BYTE LowEQCutoff; BYTE HighEQGain; BYTE HighEQCutoff; float RoomFilterFreq; float RoomFilterMain; float RoomFilterHF; float ReflectionsGain; float ReverbGain; float DecayTime; float Density; float RoomSize; DisableLateField; } ; Members WetDryMix Percentage of the output that will be reverb. Allowable values are from 0 to 100. ReflectionsDelay The delay time of the first reflection relative to the direct path. Permitted range is from 0 to 300 milliseconds. Note All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. ReverbDelay Delay of reverb relative to the first reflection. Permitted range is from 0 to 85 milliseconds. Note All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. RearDelay Delay for the left rear output and right rear output. Permitted range is from 0 to 5 milliseconds. Note All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. PositionLeft Position of the left input within the simulated space relative to the listener. With PositionLeft set to the minimum value, the left input is placed close to the listener. In this position, early reflections are dominant, and the reverb decay is set back in the sound field and reduced in amplitude. With PositionLeft set to the maximum value, the left input is placed at a maximum distance from the listener within the simulated room. PositionLeft does not affect the reverb decay time (liveness of the room), only the apparent position of the source relative to the listener. Permitted range is from 0 to 30 (no units). PositionRight Same as PositionLeft, but affecting only the right input. Permitted range is from 0 to 30 (no units). Note PositionRight is ignored in mono-in/mono-out mode. PositionMatrixLeft Gives a greater or lesser impression of distance from the source to the listener. Permitted range is from 0 to 30 (no units). PositionMatrixRight Gives a greater or lesser impression of distance from the source to the listener. Permitted range is from 0 to 30 (no units). Note PositionMatrixRight is ignored in mono-in/mono-out mode. EarlyDiffusion Controls the character of the individual wall reflections. Set to minimum value to simulate a hard flat surface and to maximum value to simulate a diffuse surface. Permitted range is from 0 to 15 (no units). LateDiffusion Controls the character of the individual wall reverberations. Set to minimum value to simulate a hard flat surface and to maximum value to simulate a diffuse surface. Permitted range is from 0 to 15 (no units). LowEQGain Adjusts the decay time of low frequencies relative to the decay time at 1 kHz. The values correspond to dB of gain as follows: Value0123456789101112 Gain (dB)-8-7-6-5-4-3-2-10+1+2+3+4 Note that a LowEQGain value of 8 results in the decay time of low frequencies being equal to the decay time at 1 kHz. Permitted range is from 0 to 12 (no units). LowEQCutoff Sets the corner frequency of the low pass filter that is controlled by the LowEQGain parameter. The values correspond to frequency in Hz as follows: Value0123456789 Frequency (Hz)50100150200250300350400450500 Permitted range is from 0 to 9 (no units). HighEQGain Adjusts the decay time of high frequencies relative to the decay time at 1 kHz. When set to zero, high frequencies decay at the same rate as 1 kHz. When set to maximum value, high frequencies decay at a much faster rate than 1 kHz. Value012345678 Gain (dB)-8-7-6-5-4-3-2-10 Permitted range is from 0 to 8 (no units). HighEQCutoff Sets the corner frequency of the high pass filter that is controlled by the HighEQGain parameter. The values correspond to frequency in kHz as follows: Value01234567891011121314 Frequency (kHz)11.522.533.544.555.566.577.58 Permitted range is from 0 to 14 (no units). RoomFilterFreq Sets the corner frequency of the low pass filter for the room effect. Permitted range is from 20 to 20,000 Hz. Note All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. RoomFilterMain Sets the pass band intensity level of the low-pass filter for both the early reflections and the late field reverberation. Permitted range is from -100 to 0 dB. RoomFilterHF Sets the intensity of the low-pass filter for both the early reflections and the late field reverberation at the corner frequency (RoomFilterFreq). Permitted range is from -100 to 0 dB. ReflectionsGain Adjusts the intensity of the early reflections. Permitted range is from -100 to 20 dB. ReverbGain Adjusts the intensity of the reverberations. Permitted range is from -100 to 20 dB. DecayTime Reverberation decay time at 1 kHz. This is the time that a full scale input signal decays by 60 dB. Permitted range is from 0.1 to infinity seconds. Density Controls the modal density in the late field reverberation. For colorless spaces, Density should be set to the maximum value (100). As Density is decreased, the sound becomes hollow (comb filtered). This is an effect that can be useful if you are trying to model a silo. Permitted range as a percentage is from 0 to 100. RoomSize The apparent size of the acoustic space. Permitted range is from 1 to 100 feet. DisableLateField If set to TRUE, disables late field reflection calculations. Disabling late field reflection calculations results in a significant CPU time savings. XAUDIO2FX_REVERB_PARAMETERS Percentage of the output that will be reverb. Allowable values are from 0 to 100. float WetDryMix The delay time of the first reflection relative to the direct path. Permitted range is from 0 to 300 milliseconds. Note All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. unsigned int ReflectionsDelay Delay of reverb relative to the first reflection. Permitted range is from 0 to 85 milliseconds. Note All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. unsigned char ReverbDelay Delay for the left rear output and right rear output. Permitted range is from 0 to 5 milliseconds. Note All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. unsigned char RearDelay Position of the left input within the simulated space relative to the listener. With PositionLeft set to the minimum value, the left input is placed close to the listener. In this position, early reflections are dominant, and the reverb decay is set back in the sound field and reduced in amplitude. With PositionLeft set to the maximum value, the left input is placed at a maximum distance from the listener within the simulated room. PositionLeft does not affect the reverb decay time (liveness of the room), only the apparent position of the source relative to the listener. Permitted range is from 0 to 30 (no units). unsigned char PositionLeft Same as PositionLeft, but affecting only the right input. Permitted range is from 0 to 30 (no units). Note PositionRight is ignored in mono-in/mono-out mode. unsigned char PositionRight Gives a greater or lesser impression of distance from the source to the listener. Permitted range is from 0 to 30 (no units). unsigned char PositionMatrixLeft Gives a greater or lesser impression of distance from the source to the listener. Permitted range is from 0 to 30 (no units). Note PositionMatrixRight is ignored in mono-in/mono-out mode. unsigned char PositionMatrixRight Controls the character of the individual wall reflections. Set to minimum value to simulate a hard flat surface and to maximum value to simulate a diffuse surface. Permitted range is from 0 to 15 (no units). unsigned char EarlyDiffusion Controls the character of the individual wall reverberations. Set to minimum value to simulate a hard flat surface and to maximum value to simulate a diffuse surface. Permitted range is from 0 to 15 (no units). unsigned char LateDiffusion Adjusts the decay time of low frequencies relative to the decay time at 1 kHz. The values correspond to dB of gain as follows: Value0123456789101112 Gain (dB)-8-7-6-5-4-3-2-10+1+2+3+4 Note that a LowEQGain value of 8 results in the decay time of low frequencies being equal to the decay time at 1 kHz. Permitted range is from 0 to 12 (no units). unsigned char LowEQGain Sets the corner frequency of the low pass filter that is controlled by the LowEQGain parameter. The values correspond to frequency in Hz as follows: Value0123456789 Frequency (Hz)50100150200250300350400450500 Permitted range is from 0 to 9 (no units). unsigned char LowEQCutoff Adjusts the decay time of high frequencies relative to the decay time at 1 kHz. When set to zero, high frequencies decay at the same rate as 1 kHz. When set to maximum value, high frequencies decay at a much faster rate than 1 kHz. Value012345678 Gain (dB)-8-7-6-5-4-3-2-10 Permitted range is from 0 to 8 (no units). unsigned char HighEQGain Sets the corner frequency of the high pass filter that is controlled by the HighEQGain parameter. The values correspond to frequency in kHz as follows: Value01234567891011121314 Frequency (kHz)11.522.533.544.555.566.577.58 Permitted range is from 0 to 14 (no units). unsigned char HighEQCutoff Sets the corner frequency of the low pass filter for the room effect. Permitted range is from 20 to 20,000 Hz. Note All parameters related to sampling rate or time are relative to a 48kHz sampling rate and must be scaled for use with other sampling rates. See remarks section below for additional information. float RoomFilterFreq Sets the pass band intensity level of the low-pass filter for both the early reflections and the late field reverberation. Permitted range is from -100 to 0 dB. float RoomFilterMain Sets the intensity of the low-pass filter for both the early reflections and the late field reverberation at the corner frequency (RoomFilterFreq). Permitted range is from -100 to 0 dB. float RoomFilterHF Adjusts the intensity of the early reflections. Permitted range is from -100 to 20 dB. float ReflectionsGain Adjusts the intensity of the reverberations. Permitted range is from -100 to 20 dB. float ReverbGain Reverberation decay time at 1 kHz. This is the time that a full scale input signal decays by 60 dB. Permitted range is from 0.1 to infinity seconds. float DecayTime Controls the modal density in the late field reverberation. For colorless spaces, Density should be set to the maximum value (100). As Density is decreased, the sound becomes hollow (comb filtered). This is an effect that can be useful if you are trying to model a silo. Permitted range as a percentage is from 0 to 100. float Density The apparent size of the acoustic space. Permitted range is from 1 to 100 feet. float RoomSize If set to TRUE, disables late field reflection calculations. Disabling late field reflection calculations results in a significant CPU time savings. BOOL DisableLateField typedef struct { float *pPeakLevels; float *pRMSLevels; UINT32 ChannelCount; } ; Members pPeakLevels Array that will be filled with the maximum absolute level for each channel during a processing pass. The array must be at least ChannelCount ? sizeof(float) bytes. pPeakLevels may be null if pRMSLevels is not null. pRMSLevels Array that will be filled with root mean square level for each channel during a processing pass. The array must be at least ChannelCount ? sizeof(float) bytes. pRMSLevels may be null if pPeakLevels is not null. ChannelCount Number of channels being processed. XAUDIO2FX_VOLUMEMETER_LEVELS Array that will be filled with the maximum absolute level for each channel during a processing pass. The array must be at least ChannelCount ? sizeof(float) bytes. pPeakLevels may be null if pRMSLevels is not null. float* pPeakLevels Array that will be filled with root mean square level for each channel during a processing pass. The array must be at least ChannelCount ? sizeof(float) bytes. pRMSLevels may be null if pPeakLevels is not null. float* pRMSLevels Number of channels being processed. unsigned int ChannelCount IXAudio2MasteringVoice inherits directly from , but does not implement methods specific to mastering voices. The interface type exists solely because some of the base class methods are implemented differently for mastering voices. Having a separate type for these voices helps client code to distinguish the different voice types and to benefit from C++ type safety. IXAudio2MasteringVoice SetOutputMatrix( * Parameters pDestinationVoice[in] Pointer to a destination for which to set volume levels. Note If the voice sends to a single target voice then specifying null will cause SetOutputMatrix to operate on that target voice. SourceChannels[in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. DestinationChannels[in] Confirms the input channel count of the destination voice. pLevelMatrix[in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. 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. OutputLeft Input [Array Index]Right Input [Array Index] Left1.0 [0]0.0 [1] Right0.0 [2]1.0 [3] Front Center0.0 [4]0.0 [5] LFE0.0 [6]0.0 [7] Rear Left0.8 [8]0.0 [9] Rear Right0.0 [10]0.8 [11] Note that 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. See Remarks for more information on volume levels. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. IXAudio2Voice Initializes a new instance of the class. The native pointer. void GetVoiceDetails( * Parameters pVoiceDetails[in, out] structure containing information about the voice. Return ValueNone. [in, out] structure containing information about the voice. void IXAudio2Voice::GetVoiceDetails([Out] XAUDIO2_VOICE_DETAILS* pVoiceDetails) SetOutputVoices( const * Parameters pSendList[in] Array of structure references to destination voices. If pSendList 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 OutputCount member of to 0. All of the voices in a send list must have the same input sample rate, see XAudio2 Sample Rate Conversions for additional information. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [in] Array of structure references to destination voices. If pSendList 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 OutputCount member of to 0. All of the voices in a send list must have the same input sample rate, see XAudio2 Sample Rate Conversions for additional information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2Voice::SetOutputVoices([In, Optional] const XAUDIO2_VOICE_SENDS* pSendList) SetEffectChain( const * Parameters pEffectChain[in, optional] Pointer to an structure that describes the new effect chain to use. If null is passed, the current effect chain is removed. Note If pEffectChain is non-null, the structure that it points to must specify at least one effect. Return Value Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [in, optional] Pointer to an structure that describes the new effect chain to use. If null is passed, the current effect chain is removed. Note If pEffectChain is non-null, the structure that it points to must specify at least one effect. Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2Voice::SetEffectChain([In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) EnableEffect( UINT32 Parameters EffectIndex[in] Zero-based index of an effect in the effect chain of the voice. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return Value Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of error codes. [in] Zero-based index of an effect in the effect chain of the voice. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of error codes. HRESULT IXAudio2Voice::EnableEffect([In] unsigned int EffectIndex,[In] unsigned int OperationSet) DisableEffect( UINT32 Parameters EffectIndex[in] Zero-based index of an effect in the effect chain of the voice. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return Value Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of valid error codes. [in] Zero-based index of an effect in the effect chain of the voice. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of valid error codes. HRESULT IXAudio2Voice::DisableEffect([In] unsigned int EffectIndex,[In] unsigned int OperationSet) void GetEffectState( UINT32 Parameters EffectIndex[in] Zero-based index of an effect in the effect chain of the voice. pEnabled[out] Returns TRUE If the effect is enabled. If the effect is disabled, returns . Return ValueNone. [in] Zero-based index of an effect in the effect chain of the voice. void IXAudio2Voice::GetEffectState([In] unsigned int EffectIndex,[Out] BOOL* pEnabled) SetEffectParameters( UINT32 Parameters EffectIndex[in] Zero-based index of an effect within the voice's effect chain. pParameters[in] Returns the current values of the effect-specific parameters. ParametersByteSize[in] Size of the pParameters array in bytes. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return Value Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of error codes. Fails with E_NOTIMPL if the effect does not support a generic parameter control interface. [in] Zero-based index of an effect within the voice's effect chain. [in] Returns the current values of the effect-specific parameters. [in] Size of the pParameters array in bytes. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of error codes. Fails with E_NOTIMPL if the effect does not support a generic parameter control interface. HRESULT IXAudio2Voice::SetEffectParameters([In] unsigned int EffectIndex,[In, Buffer] const void* pParameters,[In] unsigned int ParametersByteSize,[In] unsigned int OperationSet) GetEffectParameters( UINT32 Parameters EffectIndex[in] Zero-based index of an effect within the voice's effect chain. pParameters[out] Returns the current values of the effect-specific parameters. ParametersByteSize[out] Size, in bytes, of the pParameters array. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. Fails with E_NOTIMPL if the effect does not support a generic parameter control interface. [in] Zero-based index of an effect within the voice's effect chain. [out] Returns the current values of the effect-specific parameters. [out] Size, in bytes, of the pParameters array. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. Fails with E_NOTIMPL if the effect does not support a generic parameter control interface. HRESULT IXAudio2Voice::GetEffectParameters([In] unsigned int EffectIndex,[Out, Buffer] void* pParameters,[In] unsigned int ParametersByteSize) SetFilterParameters( const * Parameters pParameters[in] Pointer to an structure containing the filter information. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. [in] Pointer to an structure containing the filter information. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. HRESULT IXAudio2Voice::SetFilterParameters([In] const XAUDIO2_FILTER_PARAMETERS* pParameters,[In] unsigned int OperationSet) void GetFilterParameters( * Parameters pParameters[out] Pointer to an structure containing the filter information. Return ValueNone. [out] Pointer to an structure containing the filter information. void IXAudio2Voice::GetFilterParameters([Out] XAUDIO2_FILTER_PARAMETERS* pParameters) SetOutputFilterParameters( * Parameters pDestinationVoice[in] reference to the destination voice of the send whose filter parameters will be set. pParameters[in] Pointer to an structure containing the filter information. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. [in] reference to the destination voice of the send whose filter parameters will be set. [in] Pointer to an structure containing the filter information. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. HRESULT IXAudio2Voice::SetOutputFilterParameters([In, Optional] IXAudio2Voice* pDestinationVoice,[In] const XAUDIO2_FILTER_PARAMETERS* pParameters,[In] unsigned int OperationSet) void GetOutputFilterParameters( * Parameters pDestinationVoice[in] reference to the destination voice of the send whose filter parameters will be read. pParameters[out] Pointer to an structure containing the filter information. Return ValueNone. [in] reference to the destination voice of the send whose filter parameters will be read. [out] Pointer to an structure containing the filter information. void IXAudio2Voice::GetOutputFilterParameters([In, Optional] IXAudio2Voice* pDestinationVoice,[Out] XAUDIO2_FILTER_PARAMETERS* pParameters) SetVolume( float Parameters Volume[in] Overall volume level to use. See Remarks for more information on volume levels. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. [in] Overall volume level to use. See Remarks for more information on volume levels. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. HRESULT IXAudio2Voice::SetVolume([In] float Volume,[In] unsigned int OperationSet) void GetVolume( float * Parameters pVolume[out] Returns the current overall volume level of the voice. See Remarks for more information on volume levels. Return ValueNone. [out] Returns the current overall volume level of the voice. See Remarks for more information on volume levels. void IXAudio2Voice::GetVolume([Out] float* pVolume) SetChannelVolumes( UINT32 Parameters Channels[in] Number of channels in the voice. pVolumes[in] Array containing the new volumes of each channel in the voice. The array must have Channels elements. See Remarks for more information on volume levels. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return ValueReturns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [in] Number of channels in the voice. [in] Array containing the new volumes of each channel in the voice. The array must have Channels elements. See Remarks for more information on volume levels. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2Voice::SetChannelVolumes([In] unsigned int Channels,[In, Buffer] const float* pVolumes,[In] unsigned int OperationSet) void GetChannelVolumes( UINT32 Parameters Channels[in] Confirms the channel count of the voice. pVolumes[out] Returns the current volume level of each channel in the voice. The array must have at least Channels elements. See Remarks for more information on volume levels. Return ValueNone. [in] Confirms the channel count of the voice. [out] Returns the current volume level of each channel in the voice. The array must have at least Channels elements. See Remarks for more information on volume levels. void IXAudio2Voice::GetChannelVolumes([In] unsigned int Channels,[Out, Buffer] float* pVolumes) SetOutputMatrix( * Parameters pDestinationVoice[in] Pointer to a destination for which to set volume levels. Note If the voice sends to a single target voice then specifying null will cause SetOutputMatrix to operate on that target voice. SourceChannels[in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. DestinationChannels[in] Confirms the input channel count of the destination voice. pLevelMatrix[in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. 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. OutputLeft Input [Array Index]Right Input [Array Index] Left1.0 [0]0.0 [1] Right0.0 [2]1.0 [3] Front Center0.0 [4]0.0 [5] LFE0.0 [6]0.0 [7] Rear Left0.8 [8]0.0 [9] Rear Right0.0 [10]0.8 [11] Note that 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. See Remarks for more information on volume levels. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. [in] Pointer to a destination for which to set volume levels. Note If the voice sends to a single target voice then specifying null will cause SetOutputMatrix to operate on that target voice. [in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. [in] Confirms the input channel count of the destination voice. [in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. 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. OutputLeft Input [Array Index]Right Input [Array Index] Left1.0 [0]0.0 [1] Right0.0 [2]1.0 [3] Front Center0.0 [4]0.0 [5] LFE0.0 [6]0.0 [7] Rear Left0.8 [8]0.0 [9] Rear Right0.0 [10]0.8 [11] Note that 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. See Remarks for more information on volume levels. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. HRESULT IXAudio2Voice::SetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[In] unsigned int SourceChannels,[In] unsigned int DestinationChannels,[In, Buffer] const float* pLevelMatrix,[In] unsigned int OperationSet) void GetOutputMatrix( * Parameters pDestinationVoice[in] Pointer specifying the destination to retrieve the output matrix for. Note If the voice sends to a single target voice then specifying null will cause GetOutputMatrix to operate on that target voice. SourceChannels[in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. DestinationChannels[in] Confirms the input channel count of the destination voice. pLevelMatrix[out] Array of [SourceChannels * DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is returned in the form pLevelMatrix[DestinationChannels ? S + D]. See Remarks for more information on volume levels. Return ValueNone. [in] Pointer specifying the destination to retrieve the output matrix for. Note If the voice sends to a single target voice then specifying null will cause GetOutputMatrix to operate on that target voice. [in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. [in] Confirms the input channel count of the destination voice. [out] Array of [SourceChannels * DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is returned in the form pLevelMatrix[DestinationChannels ? S + D]. See Remarks for more information on volume levels. void IXAudio2Voice::GetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[In] unsigned int SourceChannels,[In] unsigned int DestinationChannels,[Out, Buffer] float* pLevelMatrix) void DestroyVoice() Return ValueNone. void IXAudio2Voice::DestroyVoice() Enables the effect at a given position in the effect chain of the voice. [in] Zero-based index of an effect in the effect chain of the voice. No documentation. HRESULT IXAudio2Voice::EnableEffect([None] UINT32 EffectIndex,[None] UINT32 OperationSet) Disables the effect at a given position in the effect chain of the voice. [in] Zero-based index of an effect in the effect chain of the voice. No documentation. HRESULT IXAudio2Voice::DisableEffect([None] UINT32 EffectIndex,[None] UINT32 OperationSet) Sets parameters for a given effect in the voice's effect chain. [in] Zero-based index of an effect within the voice's effect chain. Returns the current values of the effect-specific parameters. HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) Returns the current effect-specific parameters of a given effect in the voice's effect chain. [in] Zero-based index of an effect within the voice's effect chain. [out] Returns the current values of the effect-specific parameters. No documentation. HRESULT IXAudio2Voice::GetEffectParameters([None] UINT32 EffectIndex,[Out, Buffer] void* pParameters,[None] UINT32 ParametersByteSize) Sets parameters for a given effect in the voice's effect chain. [in] Zero-based index of an effect within the voice's effect chain. [in] Returns the current values of the effect-specific parameters. No documentation. HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) Sets parameters for a given effect in the voice's effect chain. [in] Zero-based index of an effect within the voice's effect chain. [in] Returns the current values of the effect-specific parameters. [in] Identifies this call as part of a deferred batch. See the {{XAudio2 Operation Sets}} overview for more information. No documentation. HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) Sets parameters for a given effect in the voice's effect chain. [in] Zero-based index of an effect within the voice's effect chain. [in] Returns the current values of the effect-specific parameters. No documentation. HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) Sets parameters for a given effect in the voice's effect chain. [in] Zero-based index of an effect within the voice's effect chain. [in] Returns the current values of the effect-specific parameters. [in] Identifies this call as part of a deferred batch. See the {{XAudio2 Operation Sets}} overview for more information. No documentation. HRESULT IXAudio2Voice::SetEffectParameters([None] UINT32 EffectIndex,[In, Buffer] const void* pParameters,[None] UINT32 ParametersByteSize,[None] UINT32 OperationSet) Replaces the effect chain of the voice. [in, optional] an array of structure that describes the new effect chain to use. If NULL is passed, the current effect chain is removed. If array is non null, its length must be at least of 1. No documentation. HRESULT IXAudio2Voice::SetEffectChain([In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Designates a new set of submix or mastering voices to receive the output of the voice. [in] Array of structure pointers to destination voices. If outputVoices is NULL, the voice will send its output to the current mastering voice. To set the voice to not send its output anywhere set an array of lenvth 0. All of the voices in a send list must have the same input sample rate, see {{XAudio2 Sample Rate Conversions}} for additional information. No documentation. HRESULT IXAudio2Voice::SetOutputVoices([In, Optional] const XAUDIO2_VOICE_SENDS* pSendList) 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. [in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. [in] Confirms the input channel count of the destination voice. [in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. 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. OutputLeft InputRight Input Left1.00.0 Right0.01.0 Front Center0.00.0 LFE0.00.0 Rear Left0.80.0 Rear Right0.00.8 Note that 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. See Remarks for more information on volume levels. No documentation. HRESULT IXAudio2Voice::SetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[None] UINT32 SourceChannels,[None] UINT32 DestinationChannels,[In, Buffer] const float* pLevelMatrix,[None] UINT32 OperationSet) 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. [in] Pointer to a destination for which to set volume levels. Note If the voice sends to a single target voice then specifying NULL will cause SetOutputMatrix to operate on that target voice. [in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. [in] Confirms the input channel count of the destination voice. [in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. 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. OutputLeft InputRight Input Left1.00.0 Right0.01.0 Front Center0.00.0 LFE0.00.0 Rear Left0.80.0 Rear Right0.00.8 Note that 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. See Remarks for more information on volume levels. No documentation. HRESULT IXAudio2Voice::SetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[None] UINT32 SourceChannels,[None] UINT32 DestinationChannels,[In, Buffer] const float* pLevelMatrix,[None] UINT32 OperationSet) 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. [in] Confirms the output channel count of the voice. This is the number of channels that are produced by the last effect in the chain. [in] Confirms the input channel count of the destination voice. [in] Array of [SourceChannels ? DestinationChannels] volume levels sent to the destination voice. The level sent from source channel S to destination channel D is specified in the form pLevelMatrix[SourceChannels ? D + S]. 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. OutputLeft InputRight Input Left1.00.0 Right0.01.0 Front Center0.00.0 LFE0.00.0 Rear Left0.80.0 Rear Right0.00.8 Note that 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. See Remarks for more information on volume levels. [in] Identifies this call as part of a deferred batch. See the {{XAudio2 Operation Sets}} overview for more information. No documentation. HRESULT IXAudio2Voice::SetOutputMatrix([In, Optional] IXAudio2Voice* pDestinationVoice,[None] UINT32 SourceChannels,[None] UINT32 DestinationChannels,[In, Buffer] const float* pLevelMatrix,[None] UINT32 OperationSet) void GetVoiceDetails( * Parameters pVoiceDetails[in, out] structure containing information about the voice. Return ValueNone. GetVoiceDetails void IXAudio2Voice::GetVoiceDetails([Out] XAUDIO2_VOICE_DETAILS* pVoiceDetails) SetOutputVoices( const * Parameters pSendList[in] Array of structure references to destination voices. If pSendList 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 OutputCount member of to 0. All of the voices in a send list must have the same input sample rate, see XAudio2 Sample Rate Conversions for additional information. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. SetOutputVoices HRESULT IXAudio2Voice::SetOutputVoices([In, Optional] const XAUDIO2_VOICE_SENDS* pSendList) void GetFilterParameters( * Parameters pParameters[out] Pointer to an structure containing the filter information. Return ValueNone. GetFilterParameters void IXAudio2Voice::GetFilterParameters([Out] XAUDIO2_FILTER_PARAMETERS* pParameters) void GetVolume( float * Parameters pVolume[out] Returns the current overall volume level of the voice. See Remarks for more information on volume levels. Return ValueNone. GetVolume void IXAudio2Voice::GetVolume([Out] float* pVolume) Initializes a new instance of the class. The native pointer. No documentation. No documentation. No documentation. HRESULT IXAudio2MasteringVoice::GetChannelMask([Out] unsigned int* pChannelmask) Creates and configures a mastering voice. an instance of [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. InputChannels can be set to XAUDIO2_DEFAULT_CHANNELS, with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. [in] Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. InputSampleRate can be set to XAUDIO2_DEFAULT_SAMPLERATE, with the default being determined by the current platform. Windows 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). Xbox 360 Defaults to 48000. [in] Index of the output device that will be sent input by the mastering voice. Specifying the default value of 0 causes XAudio2 to select the global default audio device. HRESULT IXAudio2::CreateMasteringVoice([Out] IXAudio2MasteringVoice** ppMasteringVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) No documentation. GetChannelMask HRESULT IXAudio2MasteringVoice::GetChannelMask([Out] unsigned int* pChannelmask) IXAudio2SourceVoice inherits directly from . It implements its own methods. IXAudio2SourceVoice Initializes a new instance of the class. The native pointer. Start( UINT32 Parameters Flags[in] Flags that control how the voice is started. Must be 0. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return ValueReturns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [in] Flags that control how the voice is started. Must be 0. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2SourceVoice::Start([In] unsigned int Flags,[In] unsigned int OperationSet) Stop( UINT32 Parameters Flags[in] Flags that control how the voice is stopped. Can be 0 or the following: ValueDescriptionXAUDIO2_PLAY_TAILSContinue emitting effect output after the voice is stopped.? OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return ValueReturns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [in] Flags that control how the voice is stopped. Can be 0 or the following: ValueDescriptionXAUDIO2_PLAY_TAILSContinue emitting effect output after the voice is stopped.? [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2SourceVoice::Stop([In] XAUDIO2_PLAY_FLAGS Flags,[In] unsigned int OperationSet) SubmitSourceBuffer( const * Parameters pBuffer[in] Pointer to an structure to queue. pBufferWMA[in] Pointer to an additional structure used when submitting WMA data. Return ValueReturns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [in] Pointer to an structure to queue. [in] Pointer to an additional structure used when submitting WMA data. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2SourceVoice::SubmitSourceBuffer([In] const XAUDIO2_BUFFER* pBuffer,[In] const void* pBufferWMA) FlushSourceBuffers() Return ValueReturns if successful, an error code otherwise. Returns if successful, an error code otherwise. HRESULT IXAudio2SourceVoice::FlushSourceBuffers() Discontinuity() Return ValueReturns if successful, an error code otherwise. Returns if successful, an error code otherwise. HRESULT IXAudio2SourceVoice::Discontinuity() ExitLoop( UINT32 Parameters OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return ValueReturns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2SourceVoice::ExitLoop([In] unsigned int OperationSet) Returns the voice's current cursor position data. No documentation. void IXAudio2SourceVoice::GetState([Out] XAUDIO2_VOICE_STATE* pVoiceState,[In] unsigned int Flags) SetFrequencyRatio( float Parameters Ratio[in] Frequency adjustment ratio. This value must be between and the MaxFrequencyRatio parameter specified when the voice was created (see ). currently is 0.0005, which allows pitch to be lowered by up to 11 octaves. OperationSet[in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Return ValueReturns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. [in] Frequency adjustment ratio. This value must be between and the MaxFrequencyRatio parameter specified when the voice was created (see ). currently is 0.0005, which allows pitch to be lowered by up to 11 octaves. [in] Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. HRESULT IXAudio2SourceVoice::SetFrequencyRatio([In] float Ratio,[In] unsigned int OperationSet) void GetFrequencyRatio( float * Parameters pRatio[out] Returns the current frequency adjustment ratio if successful. Return ValueNone. [out] Returns the current frequency adjustment ratio if successful. void IXAudio2SourceVoice::GetFrequencyRatio([Out] float* pRatio) SetSourceSampleRate( UINT32 Parameters NewSourceSampleRate[in] The new sample rate the voice should process submitted data at. Valid sample rates are 1kHz to 200kHz. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. [in] The new sample rate the voice should process submitted data at. Valid sample rates are 1kHz to 200kHz. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. HRESULT IXAudio2SourceVoice::SetSourceSampleRate([In] unsigned int NewSourceSampleRate) Creates and configures a source voice. an instance of [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) 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. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. No documentation. HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a source voice. an instance of [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) 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. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. True to enable delegate callbacks on this instance. Default is false No documentation. HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a source voice. an instance of [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) 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. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? No documentation. HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a source voice. an instance of [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) 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. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? True to enable delegate callbacks on this instance. Default is false No documentation. HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a source voice. an instance of [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) 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. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? [in] 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 are clamped between XAUDIO2_MIN_FREQ_RATIO and MaxFrequencyRatio. 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 MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices there is an additional restriction on the MaxFrequencyRatio 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 MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note XAudio2's memory usage can be reduced by using the lowest possible MaxFrequencyRatio value. No documentation. HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a source voice. an instance of [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) 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. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? [in] 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 are clamped between XAUDIO2_MIN_FREQ_RATIO and MaxFrequencyRatio. 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 MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices there is an additional restriction on the MaxFrequencyRatio 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 MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note XAudio2's memory usage can be reduced by using the lowest possible MaxFrequencyRatio value. [in, optional] Pointer to a client-provided callback interface, . No documentation. HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a source voice with callback through delegates. an instance of [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports voice types of PCM, xWMA, ADPCM (Windows only), and XMA (Xbox 360 only). XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (Optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (Preferred format after 16-bit integer) 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. Note Data formats such as XMA, {{ADPCM}}, and {{xWMA}} that require more information than provided by have a structure as the first member in their format structure. When creating a source voice with one of those formats cast the format's structure as a structure and use it as the value for pSourceFormat. [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice, the voice's outputs must have the same sample rate.Note The XAUDIO2_VOICE_NOSRC flag causes the voice to behave as though the XAUDIO2_VOICE_NOPITCH flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.?XAUDIO2_VOICE_MUSICThe voice is used to play background music. The system automatically can replace the voice with music selected by the user.? [in] 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 are clamped between XAUDIO2_MIN_FREQ_RATIO and MaxFrequencyRatio. 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 MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices there is an additional restriction on the MaxFrequencyRatio 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 MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note XAudio2's memory usage can be reduced by using the lowest possible MaxFrequencyRatio value. True to enable delegate callbacks on this instance. Default is false No enableCallbackEvents. HRESULT IXAudio2::CreateSourceVoice([Out] IXAudio2SourceVoice** ppSourceVoice,[In] const WAVEFORMATEX* pSourceFormat,[None] UINT32 Flags,[None] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Starts consumption and processing of audio by the voice. Delivers the result to any connected submix or mastering voices, or to the output device, with CommitNow changes. No documentation. HRESULT IXAudio2SourceVoice::Start([None] UINT32 Flags,[None] UINT32 OperationSet) Sets the frequency ratio. The ratio. Starts consumption and processing of audio by the voice. Delivers the result to any connected submix or mastering voices, or to the output device. [in] Identifies this call as part of a deferred batch. See the {{XAudio2 Operation Sets}} overview for more information. No documentation. HRESULT IXAudio2SourceVoice::Start([None] UINT32 Flags,[None] UINT32 OperationSet) No documentation. No documentation. No documentation. No documentation. HRESULT IXAudio2SourceVoice::SubmitSourceBuffer([In] const XAUDIO2_BUFFER* pBuffer,[In, Optional] const XAUDIO2_BUFFER_WMA* pBufferWMA) void GetFrequencyRatio( float * Parameters pRatio[out] Returns the current frequency adjustment ratio if successful. Return ValueNone. GetFrequencyRatio void IXAudio2SourceVoice::GetFrequencyRatio([Out] float* pRatio) SetSourceSampleRate( UINT32 Parameters NewSourceSampleRate[in] The new sample rate the voice should process submitted data at. Valid sample rates are 1kHz to 200kHz. Return Value Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of error codes. SetSourceSampleRate HRESULT IXAudio2SourceVoice::SetSourceSampleRate([In] unsigned int NewSourceSampleRate) Gets the state. Occurs just before the processing pass for the voice begins. In order to use this delegate, this instance must have been intialized with events delegate support. Occurs just after the processing pass for the voice ends. In order to use this delegate, this instance must have been intialized with events delegate support. Occurs when the voice has just finished playing a contiguous audio stream. In order to use this delegate, this instance must have been intialized with events delegate support. Occurs when the voice is about to start processing a new audio buffer. In order to use this delegate, this instance must have been intialized with events delegate support. Occurs when the voice finishes processing a buffer. In order to use this delegate, this instance must have been intialized with events delegate support. Occurs when a critical error occurs during voice processing. In order to use this delegate, this instance must have been intialized with events delegate support. Occurs when [voice error]. In order to use this delegate, this instance must have been intialized with events delegate support. IXAudio2SourceVoice IXAudio2VoiceCallback Called during each processing pass for each voice, just before XAudio2 reads data from the voice's buffer queue. 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 BytesRequired will always be zero, since the concept of a frame of xWMA or XMA data is meaningless. Note In a situation where there is always plenty of data available on the source voice, BytesRequired should always report zero, because it doesn't need any samples immediately to avoid glitching. void IXAudio2VoiceCallback::OnVoiceProcessingPassStart([None] UINT32 BytesRequired) Called just after the processing pass for the voice ends. void IXAudio2VoiceCallback::OnVoiceProcessingPassEnd() Called when the voice has just finished playing a contiguous audio stream. void IXAudio2VoiceCallback::OnStreamEnd() Called when the voice is about to start processing a new audio buffer. Context pointer that was assigned to the pContext member of the structure when the buffer was submitted. void IXAudio2VoiceCallback::OnBufferStart([None] void* pBufferContext) Called when the voice finishes processing a buffer. Context pointer assigned to the pContext member of the structure when the buffer was submitted. void IXAudio2VoiceCallback::OnBufferEnd([None] void* pBufferContext) Called when the voice reaches the end position of a loop. Context pointer that was assigned to the pContext member of the structure when the buffer was submitted. void IXAudio2VoiceCallback::OnLoopEnd([None] void* pBufferContext) Called when a critical error occurs during voice processing. Context pointer that was assigned to the pContext member of the structure when the buffer was submitted. The HRESULT code of the error encountered. void IXAudio2VoiceCallback::OnVoiceError([None] void* pBufferContext,[None] HRESULT Error) IXAudio2SubmixVoice inherits directly from , but does not implement methods specific to submix voices. The interface type exists solely because some of the base class methods are implemented differently for submix voices. Having a separate type for these voices helps client code to distinguish the different voice types and to benefit from C++ type safety. IXAudio2SubmixVoice Initializes a new instance of the class. The native pointer. Creates and configures a mastering voice on the default audio device, with stereo channels at 44100Hz. an instance of HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a mastering voice on the default audio device and 44100Hz. an instance of [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. InputChannels can be set to XAUDIO2_DEFAULT_CHANNELS, with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a mastering voice on the default audio device. an instance of [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. InputChannels can be set to XAUDIO2_DEFAULT_CHANNELS, with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. [in] Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. InputSampleRate can be set to XAUDIO2_DEFAULT_SAMPLERATE, with the default being determined by the current platform. Windows 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). Xbox 360 Defaults to 48000. HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 DeviceIndex,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a submix voice. an instance of [in] Number of channels in the input audio data of the submix voice. InputChannels must be less than or equal to XAUDIO2_MAX_AUDIO_CHANNELS. [in] Sample rate of the input audio data of submix voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between XAUDIO2_MIN_SAMPLE_RATE and XAUDIO2_MAX_SAMPLE_RATE. [in] Flags that specify the behavior of the submix voice. Can be 0 or the following: ValueDescriptionXAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.? [in] 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 ProcessingStage value, and before all other voices that include a larger ProcessingStage value. Voices that include the same ProcessingStage value are processed in any order. A submix voice cannot send to another submix voice with a lower or equal ProcessingStage value; this prevents audio being lost due to a submix cycle. No documentation. HRESULT IXAudio2::CreateSubmixVoice([Out] IXAudio2SubmixVoice** ppSubmixVoice,[None] UINT32 InputChannels,[None] UINT32 InputSampleRate,[None] UINT32 Flags,[None] UINT32 ProcessingStage,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) IXAudio2::AddRef IXAudio2 Constant MaximumBufferBytes. XAUDIO2_MAX_BUFFER_BYTES Constant MaximumQueuedBuffers. XAUDIO2_MAX_QUEUED_BUFFERS Constant MaximumAudioChannels. XAUDIO2_MAX_AUDIO_CHANNELS Constant MinimumSampleRate. XAUDIO2_MIN_SAMPLE_RATE Constant MaximumSampleRate. XAUDIO2_MAX_SAMPLE_RATE Constant MaximumVolumeLevel. XAUDIO2_MAX_VOLUME_LEVEL Constant MinimumFrequencyRatio. XAUDIO2_MIN_FREQ_RATIO Constant MaximumFrequencyRatio. XAUDIO2_MAX_FREQ_RATIO Constant DefaultFrequencyRatio. XAUDIO2_DEFAULT_FREQ_RATIO Constant MaximumFilterOneOverQ. XAUDIO2_MAX_FILTER_ONEOVERQ Constant MaximumFilterFrequency. XAUDIO2_MAX_FILTER_FREQUENCY Constant MaximumLoopCount. XAUDIO2_MAX_LOOP_COUNT Constant CommitNow. XAUDIO2_COMMIT_NOW Constant CommitAll. XAUDIO2_COMMIT_ALL Constant NoLoopRegion. XAUDIO2_NO_LOOP_REGION Constant DefaultChannels. XAUDIO2_DEFAULT_CHANNELS Constant DefaultSampleRate. XAUDIO2_DEFAULT_SAMPLERATE Initializes a new instance of the class. The native pointer. IXAudio2EngineCallback No documentation. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2::RegisterForCallbacks([In] IXAudio2EngineCallback* pCallback) IXAudio2EngineCallback No documentation. void IXAudio2::UnregisterForCallbacks([In] IXAudio2EngineCallback* pCallback) CreateSourceVoice( ** Parameters ppSourceVoice[out] If successful, returns a reference to the new object. pSourceFormat[in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports PCM and ADPCM voice types. XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to . The sample rate of a source voice must be between and . Note Data formats such as ADPCM that require more information than provided by have a 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 structure and use it as the value for pSourceFormat. Flags[in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice. The voice's outputs must have the same sample rate. Note The flag causes the voice to behave as though the flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.? MaxFrequencyRatio[in] Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between and . Subsequent calls to are clamped between and MaxFrequencyRatio. The maximum value for this argument is defined as , which allows pitch to be raised by up to 10 octaves. If MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices, there is one more restriction on the MaxFrequencyRatio 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 MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note You can use the lowest possible MaxFrequencyRatio value to reduce XAudio2's memory usage. pCallback[in, optional] Pointer to a client-provided callback interface, . pSendList[in, optional] Pointer to a list of 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. pEffectChain[in, optional] Pointer to a list of structures that describe an effect chain to use in the source voice. Return Value Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of XAudio2-specific error codes. [out] If successful, returns a reference to the new object. [in] Pointer to a structure. This structure contains the expected format for all audio buffers submitted to the source voice. XAudio2 supports PCM and ADPCM voice types. XAudio2 supports the following PCM formats. 8-bit (unsigned) integer PCM 16-bit integer PCM (optimal format for XAudio2) 20-bit integer PCM (either in 24 or 32 bit containers) 24-bit integer PCM (either in 24 or 32 bit containers) 32-bit integer PCM 32-bit float PCM (preferred format after 16-bit integer) The number of channels in a source voice must be less than or equal to . The sample rate of a source voice must be between and . Note Data formats such as ADPCM that require more information than provided by have a 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 structure and use it as the value for pSourceFormat. [in] Flags that specify the behavior of the source voice. A flag can be 0 or a combination of one or more of the following: ValueDescriptionXAUDIO2_VOICE_NOPITCHNo pitch control is available on the voice.?XAUDIO2_VOICE_NOSRCNo sample rate conversion is available on the voice. The voice's outputs must have the same sample rate. Note The flag causes the voice to behave as though the flag also is specified. ?XAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.? [in] Highest allowable frequency ratio that can be set on this voice. The value for this argument must be between and . Subsequent calls to are clamped between and MaxFrequencyRatio. The maximum value for this argument is defined as , which allows pitch to be raised by up to 10 octaves. If MaxFrequencyRatio is less than 1.0, the voice will use that ratio immediately after being created (rather than the default of 1.0). Xbox 360 For XMA voices, there is one more restriction on the MaxFrequencyRatio 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 MaxFrequencyRatio is too high for the specified format, the call to CreateSourceVoice fails and produces a debug message. Note You can use the lowest possible MaxFrequencyRatio value to reduce XAudio2's memory usage. [in, optional] Pointer to a client-provided callback interface, . [in, optional] Pointer to a list of 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. [in, optional] Pointer to a list of structures that describe an effect chain to use in the source voice. Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of XAudio2-specific error codes. HRESULT IXAudio2::CreateSourceVoice([Out, Fast] IXAudio2SourceVoice** ppSourceVoice,[In] const void* pSourceFormat,[In] XAUDIO2_VOICE_FLAGS Flags,[In] float MaxFrequencyRatio,[In, Optional] IXAudio2VoiceCallback* pCallback,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) CreateSubmixVoice( ** Parameters ppSubmixVoice[out] On success, returns a reference to the new object. InputChannels[in] Number of channels in the input audio data of the submix voice. InputChannels must be less than or equal to . InputSampleRate[in] Sample rate of the input audio data of submix voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between and . Flags[in] Flags that specify the behavior of the submix voice. It can be 0 or the following: ValueDescriptionXAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.? ProcessingStage[in] 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 ProcessingStage value and before all other voices that include a larger ProcessingStage value. Voices that include the same ProcessingStage value are processed in any order. A submix voice cannot send to another submix voice with a lower or equal ProcessingStage value. This prevents audio being lost due to a submix cycle. pSendList[in, optional] Pointer to a list of structures that describe the set of destination voices for the submix voice. If pSendList is null, the send list will default to a single output to the first mastering voice created. pEffectChain[in, optional] Pointer to a list of structures that describe an effect chain to use in the submix voice. Return Value Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [out] On success, returns a reference to the new object. [in] Number of channels in the input audio data of the submix voice. InputChannels must be less than or equal to . [in] Sample rate of the input audio data of submix voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between and . [in] Flags that specify the behavior of the submix voice. It can be 0 or the following: ValueDescriptionXAUDIO2_VOICE_USEFILTERThe filter effect should be available on this voice.? [in] 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 ProcessingStage value and before all other voices that include a larger ProcessingStage value. Voices that include the same ProcessingStage value are processed in any order. A submix voice cannot send to another submix voice with a lower or equal ProcessingStage value. This prevents audio being lost due to a submix cycle. [in, optional] Pointer to a list of structures that describe the set of destination voices for the submix voice. If pSendList is null, the send list will default to a single output to the first mastering voice created. [in, optional] Pointer to a list of structures that describe an effect chain to use in the submix voice. Returns if successful; otherwise, an error code. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2::CreateSubmixVoice([Out, Fast] IXAudio2SubmixVoice** ppSubmixVoice,[In] unsigned int InputChannels,[In] unsigned int InputSampleRate,[In] XAUDIO2_VOICE_SEND_FLAGS Flags,[In] unsigned int ProcessingStage,[In, Optional] const XAUDIO2_VOICE_SENDS* pSendList,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain) Creates and configures a mastering voice. [out] If successful, returns a reference to the new object. [in] Number of channels the mastering voice expects in its input audio. InputChannels must be less than or equal to . InputChannels can be set to , with the default being determined by the current platform. Windows Attempts to detect the system speaker configuration setup. Xbox 360 Defaults to 5.1 surround. [in] Sample rate of the input audio data of the mastering voice. This rate must be a multiple of XAUDIO2_QUANTUM_DENOMINATOR. InputSampleRate must be between and . InputSampleRate can be set to , with the default being determined by the current platform. Windows 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). Xbox 360 Defaults to 48000. [in] Flags that specify the behavior of the mastering voice. Must be 0. [in] Index of the output device that will be sent input by the mastering voice. Specifying the default value of 0 causes XAudio2 to select the global default audio device. [in, optional] Pointer to an structure that describe an effect chain to use in the mastering voice, or null to use no effects. No documentation. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2::CreateMasteringVoice([Out, Fast] IXAudio2MasteringVoice** ppMasteringVoice,[In] unsigned int InputChannels,[In] unsigned int InputSampleRate,[In] unsigned int Flags,[In, Optional] const wchar_t* szDeviceId,[In, Optional] const XAUDIO2_EFFECT_CHAIN* pEffectChain,[In] AUDIO_STREAM_CATEGORY StreamCategory) StartEngine() Return ValueReturns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. Returns if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2::StartEngine() void StopEngine() Return ValueNone. void IXAudio2::StopEngine() CommitChanges( UINT32 Parameters OperationSet[in] Identifier of the set of operations to be applied. To commit all pending operations, pass . Return Value Returns if successful; returns an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. [in] Identifier of the set of operations to be applied. To commit all pending operations, pass . Returns if successful; returns an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes. HRESULT IXAudio2::CommitChanges([In] unsigned int OperationSet) void GetPerformanceData( * Parameters pPerfData[out] On success, reference to an structure that is returned. Return ValueNone. [out] On success, reference to an structure that is returned. void IXAudio2::GetPerformanceData([Out] XAUDIO2_PERFORMANCE_DATA* pPerfData) No documentation. Pointer to a structure that contains the new debug configuration. No documentation. void IXAudio2::SetDebugConfiguration([In, Optional] const XAUDIO2_DEBUG_CONFIGURATION* pDebugConfiguration,[In, Optional] void* pReserved) Initializes a new instance of the class. Initializes a new instance of the class. Specify a Debug or Normal XAudio2 instance. The processor specifier. Calculate a decibel from a volume. The volume. a dB value Calculate radians from a cutoffs frequency. The cutoff frequency. The sample rate. radian Calculate a cutoff frequency from a radian. The radians. The sample rate. cutoff frequency Calculate a volume from a decibel a dB value an amplitude value Calculate semitones from a Frequency ratio The frequency ratio. semitones Calculate frequency from semitones. The semitones. the frequency Atomically applies a set of operations for all pending operations. HRESULT IXAudio2::CommitChanges([None] UINT32 OperationSet) void GetPerformanceData( * Parameters pPerfData[out] On success, reference to an structure that is returned. Return ValueNone. GetPerformanceData void IXAudio2::GetPerformanceData([Out] XAUDIO2_PERFORMANCE_DATA* pPerfData) Called by XAudio2 just before an audio processing pass begins. Called by XAudio2 just after an audio processing pass ends. Called if a critical system error occurs that requires XAudio2 to be closed down and restarted. IXAudio2SourceVoice::SubmitSourceBuffer XAUDIO2_BUFFER_WMA No documentation. const unsigned int* pDecodedPacketCumulativeBytes No documentation. unsigned int PacketCount SetDebugConfiguration XAUDIO2_DEBUG_CONFIGURATION No documentation. unsigned int TraceMask No documentation. unsigned int BreakMask No documentation. BOOL LogThreadID No documentation. BOOL LogFileline No documentation. BOOL LogFunctionName No documentation. BOOL LogTiming typedef struct { UINT32 EffectCount; *pEffectDescriptors; } ; Members EffectCount Number of effects in the effect chain for the voice. pEffectDescriptors Array of structures containing references to XAPO instances. XAUDIO2_EFFECT_CHAIN Number of effects in the effect chain for the voice. unsigned int EffectCount Array of structures containing references to XAPO instances. XAUDIO2_EFFECT_DESCRIPTOR* pEffectDescriptors typedef struct { Type; float Frequency; float OneOverQ; } ; Members Type An indicating whether the filter is low pass, band pass, high pass, or notch. Frequency Filter radian frequency calculated as (2 * sin(pi * (desired filter cutoff frequency) / sampleRate)). The frequency must be greater than or equal to 0 and less than or equal to . The maximum frequency allowable is equal to the source sound's sample rate divided by six which corresponds to the maximum filter radian frequency of 1. For example, if a sound's sample rate is 48000 and the desired cutoff frequency is the maximum allowable value for that sample rate, 8000, the value for Frequency will be 1. If XAUDIO2_HELPER_FUNCTIONS is defined, XAudio2.h will include the XAudio2RadiansToCutoffFrequency and XAudio2CutoffFrequencyToRadians helper functions for converting between hertz and radian frequencies. OneOverQ Reciprocal of Q factor. Controls how quickly frequencies beyond Frequency are dampened. Larger values result in quicker dampening while smaller values cause dampening to occur more gradually. Must be greater than 0 and less than or equal to . XAUDIO2_FILTER_PARAMETERS An indicating whether the filter is low pass, band pass, high pass, or notch. XAUDIO2_FILTER_TYPE Type Filter radian frequency calculated as (2 * sin(pi * (desired filter cutoff frequency) / sampleRate)). The frequency must be greater than or equal to 0 and less than or equal to . The maximum frequency allowable is equal to the source sound's sample rate divided by six which corresponds to the maximum filter radian frequency of 1. For example, if a sound's sample rate is 48000 and the desired cutoff frequency is the maximum allowable value for that sample rate, 8000, the value for Frequency will be 1. If XAUDIO2_HELPER_FUNCTIONS is defined, XAudio2.h will include the XAudio2RadiansToCutoffFrequency and XAudio2CutoffFrequencyToRadians helper functions for converting between hertz and radian frequencies. float Frequency Reciprocal of Q factor. Controls how quickly frequencies beyond Frequency are dampened. Larger values result in quicker dampening while smaller values cause dampening to occur more gradually. Must be greater than 0 and less than or equal to . float OneOverQ typedef struct { UINT64 AudioCyclesSinceLastQuery; UINT64 TotalCyclesSinceLastQuery; UINT32 MinimumCyclesPerQuantum; UINT32 MaximumCyclesPerQuantum; UINT32 MemoryUsageInBytes; UINT32 CurrentLatencyInSamples; UINT32 GlitchesSinceEngineStarted; UINT32 ActiveSourceVoiceCount; UINT32 TotalSourceVoiceCount; UINT32 ActiveSubmixVoiceCount; UINT32 ActiveResamplerCount; UINT32 ActiveMatrixMixCount; UINT32 ActiveXmaSourceVoices; UINT32 ActiveXmaStreams; } ; Members AudioCyclesSinceLastQuery CPU cycles spent on audio processing since the last call to the or function. TotalCyclesSinceLastQuery Total CPU cycles elapsed since the last call. Note This only counts cycles on the CPU on which XAudio2 is running. MinimumCyclesPerQuantum Fewest CPU cycles spent on processing any single audio quantum since the last call. MaximumCyclesPerQuantum Most CPU cycles spent on processing any single audio quantum since the last call. MemoryUsageInBytes Total memory currently in use. CurrentLatencyInSamples Minimum delay that occurs between the time a sample is read from a source buffer and the time it reaches the speakers. Windows The delay reported is a variable value equal to the rough distance between the last sample submitted to the driver by XAudio2 and the sample currently playing. The following factors can affect the delay: playing multichannel audio on a hardware-accelerated device; the type of audio device (WavePci, WaveCyclic, or WaveRT); and, to a lesser extent, audio hardware implementation. Xbox 360 The delay reported is a fixed value, which is normally 1,024 samples (21.333 ms at 48 kHz). If XOverrideSpeakerConfig has been called using the XAUDIOSPEAKERCONFIG_LOW_LATENCY flag, the delay reported is 512 samples (10.667 ms at 48 kHz). GlitchesSinceEngineStarted Total audio dropouts since the engine started. ActiveSourceVoiceCount Number of source voices currently playing. TotalSourceVoiceCount Total number of source voices currently in existence. ActiveSubmixVoiceCount Number of submix voices currently playing. ActiveResamplerCount Number of resampler xAPOs currently active. ActiveMatrixMixCount Number of matrix mix xAPOs currently active. ActiveXmaSourceVoices Windows Unsupported. Xbox 360 Number of source voices decoding XMA data. ActiveXmaStreams Windows Unsupported. Xbox 360 A voice can use more than one XMA stream. XAUDIO2_PERFORMANCE_DATA CPU cycles spent on audio processing since the last call to the or function. unsigned longlong AudioCyclesSinceLastQuery Total CPU cycles elapsed since the last call. Note This only counts cycles on the CPU on which XAudio2 is running. unsigned longlong TotalCyclesSinceLastQuery Fewest CPU cycles spent on processing any single audio quantum since the last call. unsigned int MinimumCyclesPerQuantum Most CPU cycles spent on processing any single audio quantum since the last call. unsigned int MaximumCyclesPerQuantum Total memory currently in use. unsigned int MemoryUsageInBytes Minimum delay that occurs between the time a sample is read from a source buffer and the time it reaches the speakers. Windows The delay reported is a variable value equal to the rough distance between the last sample submitted to the driver by XAudio2 and the sample currently playing. The following factors can affect the delay: playing multichannel audio on a hardware-accelerated device; the type of audio device (WavePci, WaveCyclic, or WaveRT); and, to a lesser extent, audio hardware implementation. Xbox 360 The delay reported is a fixed value, which is normally 1,024 samples (21.333 ms at 48 kHz). If XOverrideSpeakerConfig has been called using the XAUDIOSPEAKERCONFIG_LOW_LATENCY flag, the delay reported is 512 samples (10.667 ms at 48 kHz). unsigned int CurrentLatencyInSamples Total audio dropouts since the engine started. unsigned int GlitchesSinceEngineStarted Number of source voices currently playing. unsigned int ActiveSourceVoiceCount Total number of source voices currently in existence. unsigned int TotalSourceVoiceCount Number of submix voices currently playing. unsigned int ActiveSubmixVoiceCount Number of resampler xAPOs currently active. unsigned int ActiveResamplerCount Number of matrix mix xAPOs currently active. unsigned int ActiveMatrixMixCount Windows Unsupported. Xbox 360 Number of source voices decoding XMA data. unsigned int ActiveXmaSourceVoices Windows Unsupported. Xbox 360 A voice can use more than one XMA stream. unsigned int ActiveXmaStreams typedef struct { UINT32 CreationFlags; UINT32 ActiveFlags; UINT32 InputChannels; UINT32 InputSampleRate; } ; Members CreationFlags Flags used to create the voice; see the individual voice interfaces for more information. ActiveFlags Flags that are currently set on the voice. InputChannels The number of input channels the voice expects. InputSampleRate The input sample rate the voice expects. XAUDIO2_VOICE_DETAILS Flags used to create the voice; see the individual voice interfaces for more information. XAUDIO2_VOICE_FLAGS CreationFlags Flags that are currently set on the voice. unsigned int ActiveFlags The number of input channels the voice expects. unsigned int InputChannels The input sample rate the voice expects. unsigned int InputSampleRate typedef struct { UINT32 Flags; *pOutputVoice; } ; Members Flags Indicates whether a filter should be used on data sent to the voice pointed to by pOutputVoice. Flags can be 0 or XAUDIO2_SEND_USEFILTER. pOutputVoice A reference to an that will be the target of the send. The pOutputVoice member cannot be null. XAUDIO2_SEND_DESCRIPTOR Indicates whether a filter should be used on data sent to the voice pointed to by pOutputVoice. Flags can be 0 or XAUDIO2_SEND_USEFILTER. XAUDIO2_VOICE_SEND_FLAGS Flags A reference to an that will be the target of the send. The pOutputVoice member cannot be null. IXAudio2Voice* pOutputVoice Initializes a new instance of the struct. The output voice. Initializes a new instance of the struct. The send flags. The output voice. Gets or sets the output voice. This parameter cannot be null. The output voice. typedef struct { UINT32 SendCount; *pSends; } ; Members SendCount Number of voices to receive the output of the voice. An OutputCount value of 0 indicates the voice should not send output to any voices. pSends Array of structures describing destination voices and the filters that should be used when sending to the voices. This array should contain SendCount elements. If SendCount is 0 pSends should be null. Note that pSends cannot contain the same voice more than once. XAUDIO2_VOICE_SENDS Number of voices to receive the output of the voice. An OutputCount value of 0 indicates the voice should not send output to any voices. unsigned int SendCount Array of structures describing destination voices and the filters that should be used when sending to the voices. This array should contain SendCount elements. If SendCount is 0 pSends should be null. Note that pSends cannot contain the same voice more than once. XAUDIO2_SEND_DESCRIPTOR* pSends typedef struct { void *pCurrentBufferContext; UINT32 BuffersQueued; UINT64 SamplesPlayed; } ; Members pCurrentBufferContext Pointer to a buffer context provided in the that is processed currently, or, if the voice is stopped currently, to the next buffer due to be processed. pCurrentBufferContext is null if there are no buffers in the queue. BuffersQueued Number of audio buffers currently queued on the voice, including the one that is processed currently. SamplesPlayed Total number of samples processed by this voice since it last started, or since the last audio stream ended (as marked with the flag). This total includes samples played multiple times due to looping. Theoretically, if all audio emitted by the voice up to this time is captured, this parameter would be the length of the audio stream in samples. If you specify when you call , this member won't be calculated, and its value is unspecified on return from . takes about one-third as much time to complete when you specify . XAUDIO2_VOICE_STATE Pointer to a buffer context provided in the that is processed currently, or, if the voice is stopped currently, to the next buffer due to be processed. pCurrentBufferContext is null if there are no buffers in the queue. void* pCurrentBufferContext Number of audio buffers currently queued on the voice, including the one that is processed currently. unsigned int BuffersQueued Total number of samples processed by this voice since it last started, or since the last audio stream ended (as marked with the flag). This total includes samples played multiple times due to looping. Theoretically, if all audio emitted by the voice up to this time is captured, this parameter would be the length of the audio stream in samples. If you specify when you call , this member won't be calculated, and its value is unspecified on return from . takes about one-third as much time to complete when you specify . unsigned longlong SamplesPlayed Internal VoiceCallback callback Impl Return a pointer to the unamanged version of this callback. The callback. A pointer to a shadow c++ callback A Reverb XAudio2 AudioProcessor. Initializes a new instance of the class. Initializes a new instance of the class. A VolumeMeter XAudio2 AudioProcessor. Initializes a new instance of the class. Initializes a new instance of the class.