Я использую libgdx для воспроизведения фоновой музыки для игры, которую я пишу. У меня есть массив потенциальной музыки для воспроизведения, и я хотел бы, чтобы, когда текущая песня заканчивается, другая выбирается случайным образом из массива.Обнаружение, когда музыка закончила играть
Проблема, с которой я столкнулась, заключается в том, что музыка закончилась.
В классе Music, похоже, нет обработчиков событий, к которым я мог бы подключиться, и у меня нет способа рассказать мне, сколько времени потребуется для определенной музыки.
Единственная мысль, которая приходит на ум, включает в себя опрос
music.isPlaying()
На петле какой-то, чтобы быть в состоянии определить, когда его остановили. На мой взгляд, это уродливое решение - и не будет работать, если (скажем) пользователь отключился.
Есть ли что-нибудь еще, что я мог бы сделать?
Внедрение MediaPlayer.OnCompletionListener в вашем классе. Метод OnCompletion будет вызываться, когда музыка завершает воспроизведение. В этом методе вы можете выбрать случайную музыку из массива и снова запустить плеер. Надеюсь, это помогло. –
Чтобы уточнить, вы имеете в виду расширение libdgx для поддержки слушателя, о котором вы упомянули, или в мой личный класс для обработки музыки? – Haedrian
В вашем личном классе ... См. Этот http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/audio/Music.html –