exo Player
The exoPlayer NewPlayer uses. Since NewPlayer might kill its exoplayer depending on the playback state, the player itself is wrapped in a StateFlow. This way the NewPlayerUI can be notified of a new ExoPlayer being created once the playback state switches away from IDLE.