SDL Mix_LoadMUS не загружается .mp3 - PullRequest
0 голосов
/ 17 мая 2018

Итак, по-видимому, я пытался загрузить .mp3, используя SDL_mixer. Однако, это не работает, в отличие от libsdl wiki: SDL_mixer Mix_LoadMUS

Я надеялся, что это сработает, но при загрузке и воспроизведении файла в моем консольном приложении выскакивали следующие ошибки:

Mix_LoadMUS: Unrecognized audio format
Mix_PlayMusic: music parameter was NULL

Я пытался загрузить test.mp3 следующим образом:

Mix_Music * m_mainMusic;

m_mainMusic = Mix_LoadMUS("test.mp3");
if (m_mainMusic != nullptr)
    printf("Loaded the file\n");
else
    printf("Mix_LoadMUS: %s\n", Mix_GetError());

if (Mix_PlayMusic(m_mainMusic, -1) == -1) 
    printf("Mix_PlayMusic: %s\n", Mix_GetError());

Я, очевидно, инициализировал подсистему SDL.

1 Ответ

0 голосов
/ 28 декабря 2018

С помощью приведенных выше объяснений я попытался воспроизвести вашу проблему, и единственное, что вызвало нечто подобное, - это отсутствие библиотек времени выполнения.Убедитесь, что все необходимые библиотеки доступны во время выполнения (скопируйте их в папку вашего исполняемого файла или задайте переменную среды или используйте статическое связывание.) Библиотеки времени выполнения, распространяемые с помощью SDL_mixer, следующие: libmpg123-0, libmodplug-1,libFLAC-8, libogg-0, libopus-0, libopusfile-0, libvorbis-0, libvorbisfile-3 и SDL2_mixer.

Их можно приобрести здесь: https://www.libsdl.org/projects/SDL_mixer/

...