Rather than reusing MediaPlayers, you could create a new one each time you use one if they are getting into a broken state on your platform after repeated use as you describe. But I guess avoid that if possible as it may take time and resources to ready the players each time a new one is created.