Я хочу воспроизвести несколько файлов MP3 в SDL. С помощью SDL_Mixer
Я могу воспроизвести один файл MP3.
Mix_Music *music = Mix_LoadMUS("music.mp3");
Mix_PlayMusic(music, 0);
Но когда я пытаюсь воспроизвести другой MP3 вместе с первым, первый останавливается и воспроизводит второй. Может ли кто-нибудь помочь в этом?
SDL_mixer предназначен для очень простой аудио библиотеки; одна музыкальная дорожка является одним из ее ограничений.
Вы можете воспроизводить музыку как несколько звуковых эффектов. Есть несколько минусов:
num_channels * sample_rate * bit_rate * duration_in_seconds
, который работает, чтобы быть 2 * 44100 * 2 * 60
или же 10584000
или ~ 10 МБ / мин стерео, 44,1 кГц 16-битного (т.е. 2-байтового) звука. Это то, что нужно остерегаться во встроенных или бюджетных системах.Кроме того, вы можете использовать более продвинутую аудио-библиотеку, которая поддерживает несколько музыкальных каналов.
Других решений пока нет …