Bei Streams mit zwei verschiedenen Arten von Metadaten ist je nach Player-Implementierung möglicherweise eine zusätzliche Konfiguration erforderlich. Ein Stream kann mehrere Arten von Metadaten enthalten. Das IMA SDK fügt dem Stream Metadaten hinzu, um Anzeigeninformationen aus den Media abzurufen. Ein gängiger zweiter Metadatentyp ist beispielsweise SCTE-35.
Bei Apps, die Media3 ExoPlayer v1.6 oder höher verwenden, werden Streams mit zwei Metadatentypen standardmäßig verarbeitet.
Bei Apps, die eine ExoPlayer-Version unter v1.6 verwenden, müssen Sie Ihrer ExoPlayer-Implementierung eine zusätzliche MetadataRenderer
-Instanz hinzufügen. Im folgenden Beispiel wird eine zweite MetadataRenderer
-Instanz hinzugefügt, um zwei Metadatentypen zu unterstützen:
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();;