Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I wanted to use DirectMusic in my game, but it's not in the June 2010 SDK, so I thought that I had to use DirectSound. Then I saw the XAudio2.h header in the SDK's include folder and found that XAudio2 is the replacement for DirectSound. Both are low-level.

During my research I stumbled across the XACT API, but can't find a good explanation on it. Is XACT to XAudio2 what DirectMusic was to DirectSound? By which I mean, is the XACT API a high-level, easier-to-use API for playing sounds that abstracts away the details of XAudio2?

If not, what is it?

share|improve this question
-1 for lack of research, as this is the first or second search hit for "XACT API" that rather succinctly explains that XACT is a high-level audio playback library. –  Josh Petrie Nov 3 '12 at 21:03
I read that before posting. It leaves way to many questions unanswered. Like as far as I can tell XACT can only use .xwb and .xsb files from the XACT GUI program. That would mean it's NOT just a high level interface for xaudio, but rather an API only for using XACT GUI exported files. –  EddieV223 Nov 3 '12 at 21:09
Your question, however, does not ask any of those allegedly unanswered questions, though. Your question asks "what is XACT?" You won't get answers to questions you don't ask. –  Josh Petrie Nov 3 '12 at 21:12
There is more than one question mark. The second and third paragraphs ask these questions in broader terms. They are in broad terms on order to keep the questions focused. –  EddieV223 Nov 3 '12 at 21:21
From a reader's point of view: you pretty much just seem to be asking what XACT is. "What is it? Is it anything like this thing, does it do this? If not, what's it do?" Ok, so it plays audio, that seems to answer it. The question of whether it only plays these two filetypes or not, or other subtle issues, aren't a part of it either implicitly or explicitly. –  Jonathan Hobbs Nov 4 '12 at 13:43
add comment

closed as not a real question by Josh Petrie, Maik Semder, Byte56, Jonathan Hobbs, Jimmy Shelter Nov 22 '12 at 13:20

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

up vote 2 down vote accepted

XACT is a high-level API for audio playback. XACT is implemented in terms of differing lower-level APIs on various platforms, some of which are actually deprecated. DirectSound, for example, is used to implement XACT on older version of Windows and DirectSound itself is deprecated.

On the 360, XACT is implemented in terms of the Xaudio stack; it's thus technically a cross-platform API, although not in the same fashion (as in, not supported by as many platforms as) something like fmod.

You can use XACT via XNA on the 360, and in fact that remains the last current SDK of any type (as of this writing) to support the API -- it's use is no longer supported on Windows as of Windows 8 (June 2010 was the final release of the DirectX SDK, the components formerly provided by that SDK have been integrated into the Windows SDK itself, and the latest version of that SDK removes support for XACT on Windows).

In the sense that XACT and DirectMusic were both built on DirectSound (and are now both deprecated on Windows), they are analogous. However, XACT only ran through DirectSound on XP -- on Vista and 7, it ran through the OS's rebuilt audio stack, primarily the Audio Session API.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.