IXAudio2SourceVoice::Start method (xaudio2.h)

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] UINT32 Flags,
  [in] UINT32 OperationSet


[in] Flags

Flags that control how the voice is started. Must be 0.

[in] OperationSet

Identifies this call as part of a deferred batch. See the XAudio2 Operation Sets overview for more information.

Return value

Returns S_OK if successful, an error code otherwise. See XAudio2 Error Codes for descriptions of XAudio2 specific error codes.


If the XAudio2 engine is stopped, the voice stops running. However, it remains in the started state, so that it starts running again as soon as the engine starts.

When first created, source voices are in the stopped state. Submix and mastering voices are in the started state.

After Start is called it has no further effect if called again before IXAudio2SourceVoice::Stop is called. In addition multiple calls to Start without matching calls to IXAudio2SourceVoice::Stop will result in warning messages in debug builds.

Platform Requirements

Windows 10 (XAudio2.9); Windows 8, Windows Phone 8 (XAudio 2.8); DirectX SDK (XAudio 2.7)


Requirement Value
Target Platform Windows
Header xaudio2.h

See also

How to: Build a Basic Audio Processing Graph

How to: Stream a Sound from Disk



XAPO Overview