-----In a method somewhere-----
for (song in musicList) {
soundManager.addToMusicQueue(song);
}
---------------------
class SoundManager
{
private var musicQueue:Array<String>;
public function addToMusicQueue(songPath:String):Void {
if (FlxG.sound.music == null || !FlxG.sound.music.playing) {
playMusic(songPath);
} else {
musicQueue.push(songPath);
}
}
public function playMusic(songPath:String):Void {
FlxG.sound.playMusic(songPath,1,false);
FlxG.sound.music.onComplete = musicEnd;
}
private function musicEnd():Void {
if (musicQueue.length > 0) {
var nextSong = musicQueue.shift();
playMusic(nextSong);
}
}
}