[英]No audio with SDL/C++
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% 哪里出錯了,但有沒有人知道我做錯了什么以及如何解決?
您沒有指定您的操作系統和其他重要的上下文,但是...
如果你在Windows下運行你的構建,你可能會遇到和我一樣的問題:
令人驚訝的是, SDL庫需要一個環境變量才能播放音頻。
嘗試將SDL_AUDIODRIVER=waveout
(或SDL_AUDIODRIVER=dsound
)添加到您的環境中(在Windows下)。
我有一個類似的問題,正在按照教程創建我自己的C++簡單音頻播放器,但它不起作用。 我讓它顯示可用播放設備的名稱,但它們似乎都不起作用,直到我添加了此處所述的環境變量。
在將名為SDL_AUDIODRIVER=directsound
的環境變量添加到我的系統后,它在 Windows 10 中運行良好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.