簡體   English   中英

SDL/C++ 沒有音頻

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM