Вторник, 2024-03-19, 8:09 AM

Поиск
Меню
Категории раздела
Поддержи проект!
Рекомендуем


Потоковое воспроизведение музыки

Для любого звука, который дольше нескольких секунд, предпочтительнее его потоковое воспроизведение с диска, место полной загрузки в оперативную память. Libgdx предоставляет Music интерфейс, который позволяет это сделать.

Для загрузки экземпляра музыки мы можем сделать следующее:

Music music = Gdx.audio.newMusic(Gdx.files.internal("data/mymusic.mp3"));

Этот код загружает MP3 файл с именем "mymusic.mp3" из внутренней директории data.

Воспроизведение экземпляра музыки работает следующим образом:

music.play();

Конечно, вы можете установить различные атрибуты Music экземпляра, например:

music.setVolume(0.5f);                // устанавливает громкость на половину максимального объема
music.setLooping(true);                // повторное воспроизведения, пока не будет вызван music.stop()
music.stop();                         // останавливает воспроизведение
music.pause();                         // приостанавливает воспроизведение
music.play();                         // возобновляет воспроизведение
boolean isPlaying = music.isPlaying(); // проверка воспроизводится ли музыка
boolean isLooping = music.isLooping(); // проверка установлено ли повторение
float position = music.getPosition(); // возвращает позицию воспроизведения в секундах

Music экземпляры тяжелые, как правило вы должны иметь не более одного-двух загруженных экземпляров.

Music экземпляр нужно удалять, если он больше не нужен, чтобы освободить ресурсы.

music.dispose();