XAudio2
XAudio2 is a lower-level audio API for Microsoft Windows, Xbox 360 and Windows Phone 8, the successor to DirectSound on Windows and a supplement to the original XAudio on the Xbox 360.[3][4][5]
Developer(s) | Microsoft |
---|---|
Initial release | March 7, 2008[1] |
Stable release | 2.9
/ July 29, 2015[2] |
Operating system | Windows XP and later, Xbox 360, Windows Phone 8 |
Type | Application programming interface (API) |
XAudio2 operates through the XAudio API on the Xbox 360, through DirectSound on Windows XP, and through the low-level audio mixer WASAPI on Windows Vista and higher.
The RTM release of the XAudio2 library is included in the March 2008 DirectX SDK,[6] enabling a programmer with Visual Studio to use XAudio2 in a Windows, Xbox 360 and Windows Phone 8 project. The latest version of XAudio2 is 2.9, released for Windows 10.[2]
XAudio2 versions have shipped for use on Xbox 360 and versions of Windows, and for as old as Windows XP using redistributable DLLs, with newer versions adding features only compatible with newer operating systems.[7] E.g. XAudio 2.8 shipped with Windows 8, and supports Windows Store apps, and isn't available for older Windows versions nor is it included in Windows Server 2012.
There are known issues with XAudio2 2.7 library that is "in the legacy DirectX SDK".[8]
"XAudio2: High Performance Considerations" (talk) supports Windows 7.[9]
Features
XAudio2 provides mixing and signal processing for high-level audio APIs such as XACT and as well provides the programmer with high-level functions related to spatial processing.[5]
XAudio2 abstracts audio generation by separating sound data from "voice", allowing each voice to be filtered by programmable digital signal processing and effects processing functions. Voices can be "submixed" together into a single stream.
XAudio2 can natively decompress XMA on the Xbox 360, xWMA on Windows 10, and various ADPCM codecs on both platforms. XAudio2 2.8 supports Windows Store App development and can be used in C++/DirectX apps.[7]
See also
- Windows Audio Session API (WASAPI)
- Windows Core Audio APIs, not supported by Windows XP or earlier, but got improved support for Windows 7[10]
References
- "DirectX Software Development Kit (March 2008)". Microsoft.com. March 7, 2008. Archived from the original on April 6, 2008. Retrieved March 9, 2018.
- Walbourn, Chuck (July 30, 2015). "Windows 10 SDK RTM". Microsoft.com. Retrieved March 9, 2018.
- Sherrod, Allen (2009). Ultimate Game Programming with DirectX. Cengage Learning. p. 283. ISBN 978-1584506201.
- Kelly, Charles (2012). Programming 2D Games. CRC Press. p. 181. ISBN 978-1466508682.
- "XAudio2 Introduction". Microsoft. October 12, 2013. Retrieved 2013-11-03.
- The XAudio 2 Beta Program is being retired! connect.microsoft.com (needs Microsoft account)
- "XAudio2 Versions". msdn.microsoft.com. Retrieved 2018-05-14.
On Xbox 360, XAudio2 ships as a static library that is compiled into the main game executable. On Windows, XAudio2 is provided as a Dynamic Link Library (DLL) installed into the system folders of the Operating System. [..] XAudio2 version 2.9 ships as part of Windows 10, XAUDIO2_9.DLL, alongside XAudio2.8 to support older applications, and does not require redistribution.
- "Known Issues: XAudio 2.7". Games for Windows and the DirectX SDK. Retrieved 2018-05-14.
The XAudio2 library in the legacy DirectX SDK makes use of COM creation and reference counting for lifetime management, and a recent investigation has found a problem in this implementation. [..] This issue does not affect XAudio 2.8 (Windows 8 SDK), XAudio 2.9 (Windows 10 SDK)
- "XAudio2: High Performance Considerations". Microsoft Download Center. Retrieved 2018-05-14.
- "About the Windows Core Audio APIs (Windows)". msdn.microsoft.com. Retrieved 2018-05-14.
Microsoft does not plan to make the Core Audio APIs that are described here available for use with earlier versions of Windows, including Microsoft Windows Server 2003, Windows XP, Windows Millennium Edition, Windows 2000, and Windows 98.