0
void LoadMusic(string path);

Mix_Music* gMusic = NULL;


        LoadMusic("Music/bubble-bobble.mp3");
        if(Mix_PlayingMusic() == 0)
        {
            Mix_PlayMusic(gMusic, -1);
        }

    if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048) < 0)
    {
        cout << "Mixer could not initialise. error: " << Mix_GetError();
        return false;
    }


    Mix_FreeMusic(gMusic);
    gMusic = NULL;

void LoadMusic(string path)
{
    gMusic = Mix_LoadMUS(path.c_str());

    if(gMusic == NULL)
    {
        cout << "Failed to load background music! Error: " << Mix_GetError() << endl;
    }
}

一直在关注如何让音频与我的游戏一起工作的教程,认为某处出了点问题,因为它根本没有播放任何声音。不是 100% 哪里出了问题,但有谁知道我做错了什么以及如何解决它?

4

2 回答 2

3

你没有指定你的操作系统和其他重要的上下文,但是......

如果你在Windows下运行你的构建,你可能会遇到和我一样的问题:

令人惊讶的是,SDL库需要一个环境变量才能播放音频。

尝试将SDL_AUDIODRIVER=waveout(或者,SDL_AUDIODRIVER=dsound)添加到您的环境(在Windows下)。

于 2015-04-14T15:09:50.773 回答
0

我有一个类似的问题,正在按照教程创建我自己的C++简单音频播放器,但它不起作用。我让它显示可用播放设备的名称,但它们似乎都不起作用,直到我添加了这里所述的环境变量

它在 Windows 10 中运行良好,在我的系统中添加了一个名为SDL_AUDIODRIVER=directsound.

于 2021-02-10T01:14:21.650 回答