Использование SDL для создания простой игры, и у меня есть фоновая музыка, играющая с самого начала программы, но я хочу иметь возможность проверить, когда музыка перестала играть, чтобы можно было запустить следующую дорожку. Я использую библиотеку SDL_mixer для загрузки и воспроизведения музыки.
bool loadTrack()
{
song = Mix_LoadMUS( "backgroundmusic.mp3" );
if (song == NULL)
{
return false;
}
else
{
Mix_PlayMusic(song, -1);
return true;
}
}
Я загружаю и играю музыку в классе, который я создал под названием «музыка», песня определена в конструкторе класса как NULL, затем даю ей имя дорожки и воспроизводит ее в методе «loadTrack» в этом классе. Я хочу использовать другой метод в классе, который можно вызвать и вернуть true, если трек закончил воспроизведение, и false, если он все еще воспроизводится. Моя проблема заключается в том, что я понятия не имею, как проверить, воспроизводится ли трек или есть ли в библиотеках микшера собственная функция для проверки того, воспроизводится ли он.