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.