Pour les flux utilisant deux types de métadonnées différents, vous devrez peut-être effectuer une configuration supplémentaire en fonction de l'implémentation de votre lecteur. Un flux peut contenir plusieurs types de métadonnées. Le SDK IMA ajoute des métadonnées au flux pour récupérer les informations sur les annonces à partir du contenu multimédia. Par exemple, SCTE-35 est un type de métadonnées secondaire courant.
Pour les applications utilisant Media3 ExoPlayer v1.6 ou version ultérieure, les flux avec deux types de métadonnées sont gérés par défaut.
Pour les applications utilisant une version d'ExoPlayer antérieure à la version 1.6, vous devez ajouter une instance MetadataRenderer
supplémentaire à votre implémentation ExoPlayer. L'exemple suivant ajoute une deuxième instance MetadataRenderer
pour prendre en charge deux types de métadonnées :
RenderersFactory defaultRenderersFactory = new DefaultRenderersFactory(context) {
@Override
protected void buildMetadataRenderers(Context context, MetadataOutput output,
Looper outputLooper, @ExtensionRendererMode int extensionRendererMode,
ArrayList<Renderer> out) {
// Add a `MetadataRenderer` for each type of metadata. This example adds 2.
out.add(new MetadataRenderer(output, outputLooper));
out.add(new MetadataRenderer(output, outputLooper));
}
};
new ExoPlayer.Builder()
.setRenderersFactory(defaultRenderersFactory)
.setMediaSourceFactory(mediaSourceFactory)
.build();;