C++ fmod dźwięk 3d

Witajcie. Czy toś byłby wstanie mi wyjaśnić, co robię źle? Stworzyłem klasę Audio, w mojej grze audio, gdyż jestem osobą niewidomą, i grafiki  nie potrzebuję. Użyłem sfml do renderowania okna, a fmod do audio, gdyż sfml ma zbyt małe możliwości tj. Nie potrafi odtworzyć dwukrotnie tego samego dźwięku. Przykład: Idę sobie, ktoś do mnie strzela i ja też zaczynam strzelać. Wtedy albo dźwięki się wzajemnie blokują, albo odtwarza się 1.

 audio.h

Co robię źle, że nie działa dźwięk 3d? 

audio.cpp

 

Masz wszystkie potrzebne biblioteki?

 

Tak, bo aplikacja się odpala. Ale nie zmienia mi się na scenie postać listenera. Robię w funkcji player::set_potision(float x, float y, float z) robię audio.lpos.x = x; audio.lpos.y = y; audio.lpos.z = z; a on i tak nie zmienia.

Potrafi. Spokojnie możesz odtworzyć jeden dźwięk wiele razy i na raz, nie masz po co robić bałaganu w programie dodatkowymi bibliotekami.

W SFML wystarczy, że wczytasz raz dźwięk do obiektu klasy sf::SoundBuffer. Potem po prostu twórz nowe sf::Sound używając wcześniejszego bufora i wrzucaj je do std::vector<sf::Sound> po czym indywidualnie usuwaj gdy skończą się odtwarzać.

sf::Sound sound[256];

sf::SoundBuffer buf[256];

buf[0].loadFromFile(“plik.wav”);

sound[0].setBuffer(buf[0]);

sound[0].play();

a potem co? Oczywiście nazwy funkcji mogą mieć gdzieś indziej wielkie litery niż to pamiętam, gdyż zrobiłem sobie do tego klasę Audio i rzadko raczej kiedy używam normalnych funkcji do tego przeznaczonych.