Hi! Ahmwma has already linked Asteroid Run which I wrote, please feel free to take a look at the code and ask me any questions.
I'll paste a somewhat simplified version of the code below
music1:("","sound1","sound2","sound3","sound4","sound3","sound3","sound1","sound2") on loop do loopcounter.text:loopcounter.text+1 if loopcounter.text="9" loopcounter.text:1 end music1["%i" parse loopcounter.text] end
So, simple explanation is I've got a counter that increments every time loop is called (which is basically every time the audio finishes) and I've got a list in the code of all the sounds I want to play, in order. When the loop goes round, it'll increment the counter and return the name of the next sound. (And no I don't remember why I have it going from 1 to 8 instead of 0 to 7, sorry lol)
Let me know if this makes sense, or if you want to share your attempt maybe we can take a look and see why it's not working for you, since from the sounds of things you're basically working on the same principle.
(I guess the other way to have background music would be with the contraption I wrote lol)