I componenti comuni a tutte le implementazioni di ExoPlayer sono:
- Un MediaSource che definisce i contenuti multimediali da riprodurre, carica i media, e da cui è possibile leggere il supporto caricato. Un MediaSource è iniettato tramite ExoPlayer.prepare all'inizio della riproduzione.
- Renderers che rendono singoli componenti del media. I renderer sono iniettato quando il giocatore è stato creato.
- Un TrackSelector che seleziona tracce fornite da MediaSource per essere consumate da ciascuno dei Renderer disponibili. A TrackSelector viene iniettato quando il giocatore è creato.
- Un LoadControl che controlla quando i buffer di MediaSource più contenuti multimediali e quanti contenuti multimediali sono memorizzati nel buffer. Viene iniettato un LoadControl quando il giocatore è creato.
Come capisco da questo contesto, sembra che l'iniezione sia qualcosa di simile all'inizializzazione piuttosto che all'istanziazione. È giusto?