gpt4 book ai didi

c++ - FMOD 不播放声音 C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:59:42 30 4
gpt4 key购买 nike

我实际上尝试使用 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

#include <string>
#include <iostream>
#include "Sound.hh"

Sound::Sound()
{
FMOD_System_Create(&this->sys);
FMOD_System_Init(this->sys, 1, FMOD_INIT_NORMAL, NULL);
}

Sound::~Sound()
{
FMOD_System_Release(sys);
}

但是当我播放时("mysound.wav");在我的代码上没有附加任何内容,我验证了返回值并且没问题。所以有什么想法吗?谢谢

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;
}

最佳答案

您没有动态分配 Sound 变量。

你需要的是:

声音 sound = new Sound();

sound->play("./sound/explosion.wav");

或者在 Bombe::update 中做:

声音声音;

sound.play("./sound/explosion.wav");

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

关于c++ - FMOD 不播放声音 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10835476/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com