Partage
  • Partager sur Facebook
  • Partager sur Twitter

[OGRE + FMOD]Problème

La musique ne se lance pas !

    12 juin 2008 à 15:48:45

    Salut à tous, je suis encore de retour :p
    J'ai tenté d'utiliser FMOD 3 avec Ogre et pour l'instant...
    En fait il n'y aucune erreur (même pas un warning :p )
    mais quand je teste le jeu la musique ne se joue pas....
    voilà le code nécéssaire (il n'y a que le FrameListener et le SoundManager)

    Si quelqu'un pouvait m'expliquer pourquoi ça marche pas..xD
    Yop !

    #include "ExampleApplication.h"
    #include "SkyManager.h"
    #include <FMOD/fmod.h>
    #include <string>
    
    class SoundManager
    {
    public:
    	SoundManager()
    	{
    		FSOUND_Init(44100, 32, 0);
    	}
    	~SoundManager()
    	{
    		FSOUND_Close();
    
    	}
    	int play(FSOUND_STREAM *musique, std::string &filename)
    	{
    		musique = FSOUND_Stream_Open(filename.c_str(), 0, 0, 0);
    		FSOUND_Stream_Play(FSOUND_FREE, musique);
    		return 0;
    	}
    
    private:
    };
    
    
    class FZeroFrameListener : public ExampleFrameListener
    {
    	public:
    FZeroFrameListener(RenderWindow* win, Camera* cam, SceneManager *sceneMgr)
    		: ExampleFrameListener(win, cam, false, false)
    {
    		mMouseDown = false;
    		mToggle = 0.0;
    
    		mSceneMgr = sceneMgr; 
    
    		mCamNode = cam->getParentSceneNode();
    		
    		mRotate = 0.13;
    		mMove = 5;
    		vitesse = 1;
    		rotate = false;
    
    		fileName = "fire field.mp3";
    
    }
    bool frameStarted(const FrameEvent &evt)
    {
    		mMouse->capture(); 
    		mKeyboard->capture(); 
    
    		mEnt = mSceneMgr->getEntity("car");
    		mNode = mSceneMgr->getSceneNode("carNode");
    		mYawNode = mSceneMgr->getSceneNode("carYawNode");
    		mCamNode = mSceneMgr->getSceneNode("CamNode1"); 
    		
    		if(mKeyboard->isKeyDown(OIS::KC_ESCAPE)) 
    		{
    			SkyManager::get().end();
    			
    			return false;
    		}
    		 
    		mToggle -= evt.timeSinceLastFrame;
    
    		Vector3 transVector = Vector3::ZERO;
    		 
    		if (mKeyboard->isKeyDown(OIS::KC_UP))
    		{
    			vitesse += 5;
    		}
    		 
    		if (mKeyboard->isKeyDown(OIS::KC_DOWN))
    		{
    			vitesse -= 2;	
    		}
    		 
    		if (mKeyboard->isKeyDown(OIS::KC_LEFT))
    		{
    			mYawNode->yaw(Degree(2));
    		}
    		 
    		if (mKeyboard->isKeyDown(OIS::KC_RIGHT))
    		{
    			mYawNode->yaw(Degree(-2));
    		}
    
    		transVector.z -= vitesse;
    
    		if (Math::Abs(vitesse)>1)
    			vitesse *= 0.9;
    
    		mNode->translate(mYawNode->getOrientation() * transVector, Node::TS_LOCAL);
    		mCamNode->translate(mYawNode->getOrientation() * transVector, Node::TS_LOCAL);
    
    		SkyManager::get().frameStarted(evt.timeSinceLastFrame, 0);
    		
    		soundMgr->play(mp3, fileName);
    		return true;
    }
    
    protected:
    		bool mMouseDown; 
    		bool rotate;
    
    		Real mToggle; 
    		Real mRotate; 
    		Real mMove; 
    
    		SceneManager *mSceneMgr; 
    		
    		AnimationState *mAnimationState;
    
    		Entity *mEnt;
    	
    		// Celui auquel la voiture est rattaché
    		SceneNode *mNode;
    		SceneNode *mYawNode;
    		SceneNode *mCamNode; 
    
    		Ogre::Real pitchAngle;
    		Ogre::Real pitchAngleSign;
    		Ogre::Real vitesse;
    
    		SoundManager *soundMgr;
    		FSOUND_STREAM *mp3;
    		Ogre::String fileName;
    };
    
    • Partager sur Facebook
    • Partager sur Twitter

    [OGRE + FMOD]Problème

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown