Para streams que usam dois tipos diferentes de metadados, talvez seja necessário configurar mais opções, dependendo da implementação do player. Um stream pode conter vários tipos de metadados. O SDK do IMA adiciona metadados ao stream para recuperar informações de anúncios da mídia. Por exemplo, SCTE-35 é um segundo tipo de metadados comum.
Para apps que usam Media3 ExoPlayer v1.6 ou mais recente, os streams com dois tipos de metadados são processados por padrão.
Para apps que usam uma versão do ExoPlayer anterior à v1.6, adicione outra
MetadataRenderer
instância à implementação do ExoPlayer. O exemplo a seguir adiciona uma segunda instância de MetadataRenderer para oferecer suporte a dois tipos de metadados:
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();;