• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Xaudio2 В Directx9

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

chesland

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

Для тех, кто заинтересовался вопросом - уточняю:
использую 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 без нее работать не будет.
Спасибо всем, кто обратил внимание на мою проблему.
 
L

lazybiz

Кое-где на англоязычном форуме кое-кто утверждает что XAudio2 требует как минимум Windows XP SP2 или поддержку SSE2. Но это не 100%-ая инфа.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!