Xaudio2 В Directx9

  • Автор темы chesland
  • Дата начала
C

chesland

#1
Крутые программеры!
Подскажите, пожалуйста, новичку в программировании под DirectX - ом!
Почему под Win7x32x64 MS VisualStudio2010 - звук в моей программе запускается и работает,
а под WinXP - нет!

Для тех, кто заинтересовался вопросом - уточняю:
использую XAudio2
инициализирую вот так: How to: Initialize XAudio2
DirectX и VCRedistributable установлены под все операционки.
Не хочу засорять это все кодом, просто объясню...
Программа компилируется и запускается,
под Win7 все работает, а под WinXP сразу вылетает при начале инициализации XAudio2,
т.е. на строке:
if ( FAILED(hr = XAudio2Create( &pXAudio2, 0, XAUDIO2_DEFAULT_PROCESSOR ) ) ) return hr;

Сама программа пробная - в ней ничего нет, кроме полноэкранного окна Windows. Потом сразу инициализация XAudio.
Пробовал компилировать (рабочий под Win7) проект под WinXP - то же самое, компилируется без ошибок, запускается и вылетает.
Чего я не знаю? Что делаю под WinXP не так???

ИЗВИНЯЮСЬ.
Это называется - "чтобы решить проблему, нужно о ней кому-нибудь рассказать"
Перед вызовом XAudio2Create() нужно написать:
CoInitializeEx( NULL, COINIT_MULTITHREADED );
и тогда все работает.
Получается, что под Win7 вызов этой функции не обязателен, а под WinXP без нее работать не будет.
Спасибо всем, кто обратил внимание на мою проблему.
 

lazybiz

Well-known member
03.11.2010
1 339
0
#2
Кое-где на англоязычном форуме кое-кто утверждает что XAudio2 требует как минимум Windows XP SP2 или поддержку SSE2. Но это не 100%-ая инфа.