Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ FMOD don';t播放声音C++;_C++_Fmod - Fatal编程技术网

C++ FMOD don';t播放声音C++;

C++ FMOD don';t播放声音C++;,c++,fmod,C++,Fmod,事实上,我试着用FMOD播放声音,但没有效果 #ifndef __SOUND_HH__ #define __SOUND_HH__ #include <string> #include <fmodex/fmod.h> class Sound { FMOD_SYSTEM *sys; FMOD_SOUND *explosion; FMOD_RESULT resExplosion; FMOD_CHANNEL *channel1; public: Sou

事实上,我试着用FMOD播放声音,但没有效果

#ifndef __SOUND_HH__
#define __SOUND_HH__

#include <string>
#include <fmodex/fmod.h>

class Sound
{
  FMOD_SYSTEM *sys;

  FMOD_SOUND *explosion;
  FMOD_RESULT resExplosion;
  FMOD_CHANNEL *channel1;

public:
  Sound();
  ~Sound();

  void play(const std::string &);
};

#endif
\ifndef\uuuuuuhh__
#定义声音__
#包括
#包括
班级声音
{
FMOD_系统*sys;
FMOD_声音*爆炸;
FMOD_结果再爆炸;
FMOD_信道*信道1;
公众:
声音();
~Sound();
无效播放(const std::string&);
};
#恩迪夫

#包括
#包括
#包括“Sound.hh”
Sound::Sound()
{
FMOD_系统_创建(&this->sys);
FMOD_System_Init(此->sys,1,FMOD_Init_NORMAL,NULL);
}
声音::~Sound()
{
FMOD系统发布(系统);
}
但是当我玩的时候(“mysound.wav”);在我的代码nothing append上,我验证返回值并且没有问题。有什么想法吗?谢谢

void Sound::play(const std::string &filename)
{
  FMOD_System_CreateStream(this->sys, filename.c_str(), FMOD_HARDWARE | FMOD_LOOP_OFF | FMOD_2D, 0, &this->explosion);
  FMOD_System_PlaySound(sys, FMOD_CHANNEL_FREE, explosion, 0 , &channel1);
        std::cout << "playayayyayayayayya" << std::endl;
}
void Sound::play(const std::string和filename)
{
FMOD_System_CreateStream(this->sys,filename.c_str(),FMOD_HARDWARE | FMOD_LOOP_OFF | FMOD_2D,0,&此->爆炸);
FMOD_系统_播放声音(系统、FMOD_频道自由、爆炸、0和频道1);

std::cout您没有动态分配
Sound
变量

您需要的是:

Sound-Sound=new-Sound();

声音->播放(“./sound/explosion.wav”);

或者在
Bombe::update
do中:

声音;

sound.play(“./sound/explosion.wav”);


还要确保
explosion.wav
位于
sound/
文件夹中,您没有动态分配
sound
变量

您需要的是:

Sound-Sound=new-Sound();

声音->播放(“./sound/explosion.wav”);

或者在
Bombe::update
do中:

声音;

sound.play(“./sound/explosion.wav”);



还要确保
explosion.wav
位于文件夹
sound/

是否打开/打开了扬声器?是否尝试过通过媒体播放器播放声音?我尝试过使用FMOD的C中的另一个项目,该项目很有效。我尝试使用相同的声音,但始终不起作用。您调用play fu的代码在哪里操作?我编写了一个bomberman游戏,这样,当炸弹爆炸时,我调用类Bomb上的play函数。我的类上有一个Sound*\u Sound变量。我在构造函数上做_Sound=new Sound(),然后调用_Sound->play(文件)当我需要它的时候是的,我们需要看到代码,就像你在游戏中看到的一样。你打开/打开你的扬声器了吗?你尝试过通过媒体播放器播放声音吗?我尝试过C中的另一个项目,在那里我使用FMOD,它是有效的。我尝试使用相同的声音,但总是不起作用。你调用播放功能的代码在哪里在bomberman游戏中,当炸弹爆炸时,我调用类Bomb上的play函数。我的类中有一个Sound*\u Sound变量。我在构造函数中执行_Sound=new Sound(),并调用_Sound->play(文件)当我需要它的时候,是的,我们需要看到代码,就像你在游戏中看到的一样谢谢,我认为这是可行的,但是FMOD没有声音,我所有其他的声音工作。这是一个问题…你检查过文件在你传递的文件夹中吗?你在什么操作系统中做这个?是的,我在ubuntu x64上。这很奇怪,因为我在游戏中使用FMOD过去的和它的工作很好。这很奇怪,尝试传递另一个文件,你知道它的工作。非常感谢,我认为这是工作,但FMOD没有声音,我所有的其他声音工作。这是一个问题…你检查过文件是在文件夹中你正在传递吗?你在做什么操作系统?是的,我在ubuntu x64上。这很奇怪,因为我使用FMOD在过去,它工作得很好。这很奇怪,尝试传递另一个你知道有效的文件。
void Sound::play(const std::string &filename)
{
  FMOD_System_CreateStream(this->sys, filename.c_str(), FMOD_HARDWARE | FMOD_LOOP_OFF | FMOD_2D, 0, &this->explosion);
  FMOD_System_PlaySound(sys, FMOD_CHANNEL_FREE, explosion, 0 , &channel1);
        std::cout << "playayayyayayayayya" << std::endl;
}