SDL MIX_LOADWAV () падает при загрузке некоторых файлов WAV - PullRequest
0 голосов
/ 12 июня 2019

У меня есть программа C ++, которая загружает волновые файлы. и принимает нажатия клавиш, чтобы функционировать как пианино. Недавно я попытался изменить wav-файлы с заметок из Интернета на живые записи заметок. Единственная разница в файлах может заключаться в том, что живые записи в стерео. в любом случае, когда я даю Mix_LoadWAV (a.wav), он возвращает ноль [Например, все живые записи загружают ноль].

Есть ли какие-либо ограничения для sdl 1.2 MIX_LOADWAV (), о которых я должен знать?

bool LoadFiles()
{
    Background = LoadImage("graphics/background.bmp");

    cNote = Mix_LoadWAV("notes/c.wav" );
    csNote = Mix_LoadWAV("notes/cs.wav" );
    dNote = Mix_LoadWAV("notes/d.wav" );
    dsNote = Mix_LoadWAV("notes/ds.wav" );
    eNote = Mix_LoadWAV("notes/e.wav" );
    fNote = Mix_LoadWAV("notes/f.wav" );
    fsNote = Mix_LoadWAV("notes/fs.wav" );
    gNote = Mix_LoadWAV("notes/g.wav" );
    gsNote = Mix_LoadWAV("notes/gs.wav" );
    aNote = Mix_LoadWAV("notes/a.wav" );
    asNote = Mix_LoadWAV("notes/as.wav" );
    bNote = Mix_LoadWAV("notes/b.wav" );
    highCNote = Mix_LoadWAV("notes/highC.wav" );

    if(Background == NULL || cNote == NULL || csNote == NULL || dNote == NULL || dsNote == NULL || eNote == NULL || fNote == NULL || fsNote == NULL || gNote == NULL || gsNote == NULL || aNote == NULL || asNote == NULL || bNote == NULL || highCNote == NULL)
    {
        printf("File load error\n");
        return false;
    }

    return true;
}
...