Wait for sequence to finish

That’s because tts.speak and the legacy tts.google_translate_say actually use media_player.play_media and automatically set its announce option to true.

When announce is true, the TTS announcement plays over the existing music. As a result, there’s no change in the media_player’s state (it’s always playing).

If you want the previous behavior, where the existing music is stopped and then the announcement is played, you’ll have to use media_player.play_media directly and set announce to false or simply exclude the announce option (it defaults to false).

I posted an example here: