Unterstützung mehrerer Metadatentypen in Streams

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-Inhalten abzurufen. Ein häufiger zweiter Metadatentyp ist beispielsweise SCTE-35.

Bei Apps mit Media3 ExoPlayer Version 1.6 oder höher werden Streams mit zwei Metadatentypen standardmäßig verarbeitet.

Bei Apps mit einer ExoPlayer-Version unter 1.6 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();;