FMOD я не слышу звук

0

Наконец, я смог выполнить playSound без ошибок, но теперь я не слышу звук.

SoundEngine, ч

    #ifndef SOUNDENGINE_H_
#define SOUNDENGINE_H_

#include "FMOD/inc/fmod.hpp" //fmod c++ header
//#include "FMODEX/inc/fmodlinux.h"

class SoundEngine{
public:
    bool initSystem(void);
    void update(void);
private:
    //FMod Stuff
        FMOD_SYSTEM     *system; //handle to FMOD engine
        FMOD_SOUND      *sound1, *sound2; //sound that will be loaded and played
        FMOD_CHANNELGROUP *channels;
};

И SoundEngine.cpp

#include "SoundEngine.h"
#include <iostream>
using namespace std;
FMOD_RESULT result;
bool SoundEngine::initSystem()
{
    result = FMOD_System_Create(&system);
    unsigned int version;
    cout<<result<<endl;
    result = FMOD_System_Init(system, 1, FMOD_INIT_NORMAL, NULL);
    cout<<result<<endl;

    cout<<"Sonido"<<endl;
    //load sounds
    result = FMOD_System_CreateSound(system, "Media/NMG.mp3", FMOD_CREATESAMPLE, 0, &sound1);
    cout<<result<<endl;
    result = FMOD_System_CreateChannelGroup(system,"canal",&channels);
    cout<<result<<endl;
    result = FMOD_System_PlaySound(system,  sound1,channels, 1, NULL);
    cout<<result<<endl;
    //FMOD_System_PlaySound(system, FMOD_CHANNEL_FREE, )
    //sound1->setMode(FMOD_LOOP_OFF);    /* drumloop.wav has embedded loop points which automatically makes looping turn on, */

    /* so turn it off here.  We could have also just put FMOD_LOOP_OFF in the above CreateSound call. */
    //system->playSound(FMOD_CHANNEL_FREE, sound1, false, 0);
    cout<<"Sonido"<<endl;
    return true;
}

Я думаю, что это правильно и должно звучать, но я ничего не слышу (и у меня включен компьютерный том, и он работает). Есть ли другой метод, который мне нужно использовать?

Я также использую FMOD_System_Update() в каждом кадре.

EDIT: Я также попытался поставить

while(true) FMOD_System_Update();

Внутри метода initSystem, но он не работает.

Теги:
fmod

1 ответ

0

Проблема будет следующей:

result = FMOD_System_PlaySound(system,  sound1,channels, 1, NULL);

Второй последний параметр "приостановлен", который устанавливается в 1 (или true), устанавливает его в значение false.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню