Per gli stream che utilizzano due diversi tipi di metadati, potrebbe essere necessaria una configurazione aggiuntiva a seconda dell'implementazione del player. Uno stream può contenere più tipi di metadati. L'SDK IMA aggiunge metadati allo stream per recuperare le informazioni sugli annunci dai contenuti multimediali. Ad esempio, SCTE-35 è un tipo di metadati secondari comune.
Per le app che utilizzano Media3 ExoPlayer v1.6 o versioni successive, gli stream con due tipi di metadati vengono gestiti per impostazione predefinita.
Per le app che utilizzano una versione di ExoPlayer precedente alla v1.6, devi aggiungere un'istanza
MetadataRenderer
aggiuntiva all'implementazione di ExoPlayer. L'esempio seguente aggiunge una
seconda istanza MetadataRenderer
per supportare due tipi di metadati:
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();;