Para transmissões que usam dois tipos diferentes de metadados, talvez seja necessário fazer mais configurações, dependendo da implementação do player. Um stream pode conter vários tipos de metadados. O SDK do IMA adiciona metadados ao fluxo para extrair informações do anúncio da mídia. Por exemplo, SCTE-35 é um segundo tipo de metadados comum.
Para apps que usam o Media3 ExoPlayer v1.6 ou mais recente, as transmissões com dois tipos de metadados são processadas por padrão.
Para apps que usam uma versão do ExoPlayer anterior à v1.6, adicione uma instância
MetadataRenderer
extra à 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();;