Xaudio2 В Directx9

Тема в разделе "MS Visual C++", создана пользователем chesland, 27 янв 2012.

  1. chesland

    chesland Гость

    Крутые программеры!
    Подскажите, пожалуйста, новичку в программировании под 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 без нее работать не будет.
    Спасибо всем, кто обратил внимание на мою проблему.
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

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

Поделиться этой страницей