i think many has encountered this issue, one of the answer is here
you can also just await the length of the audio to know it’s already finished. something like
await get_tree().create_timer(audio.get_length() + .1).timeout
the audio
is AudioStream type which is used to play in audio stream player