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%,这是错误的,但有人知道我做错了什么以及如何解决它?
答案 0 :(得分:2)
您没有指定操作系统和其他重要上下文,但是......
如果您在 Windows 下运行构建,则可能遇到与我相同的问题:
令人惊讶的是, SDL 库需要一个环境变量才能播放音频。
尝试将SDL_AUDIODRIVER=waveout
(或SDL_AUDIODRIVER=dsound
)添加到您的环境中(在 Windows 下)。
答案 1 :(得分:0)
我遇到了类似的问题,正在按照教程创建我自己的 C++ 简单音频播放器,但它不起作用。我让它显示可用播放设备的名称,但它们似乎都不起作用,直到我添加了环境变量,如此处所述。
在我的系统中添加名为 SDL_AUDIODRIVER=directsound
的环境变量后,它在 Windows 10 中运行良好。