проблема с bass.dll и 3D звуком

mzxer

Активный
Автор темы
81
119
добрый вечер. ситуация следующая: динамически линкуюсь с bass.dll версии 2.4.5.0 (версия, которая используется сампом для аудиостримов), пытаюсь воспроизвести 3D звук посредством этой библиотеки, передавая флаг BASS_SAMPLE_3D при создании сэмпла через BASS_SampleLoad, в итоге получаю интересный код ошибки - BASS_ERROR_UNKNOWN (-1)

код:
C++:
void main()
{
    BASS_Init(-1, 44100, BASS_DEVICE_3D, 0, nullptr);

    auto bassSample = BASS_SampleLoad(FALSE, (void*)"C:\\imperial.mp3", NULL, NULL, 1, BASS_SAMPLE_3D);
    if (bassSample == NULL) {
        std::cout << "#0 BASS ERORR: " << BASS_ErrorGetCode() << std::endl;
        return;
    }
    
    auto bassChannel = BASS_SampleGetChannel(bassSample, BASS_SAMPLE_3D);
    if (bassChannel == NULL) {
        std::cout << "#1 BASS ERORR: " << BASS_ErrorGetCode() << std::endl;
        return;
    }

    BASS_ChannelPlay(bassChannel, FALSE);

    while (true) {
        std::this_thread::sleep_for(std::chrono::milliseconds(100));
    }
}

результат работы:
SHXWY.jpg


если же убрать флаг BASS_SAMPLE_3D, то всё прекрасно работает и воспроизводится, но мне нужен именно 3D саунд
звук прикрепил архивом
 

Вложения

  • sound.zip
    2 MB · Просмотры: 4