Для потоков, в которых используются два разных типа метаданных, может потребоваться дополнительная настройка конфигурации в зависимости от реализации проигрывателя. В потоке может быть несколько типов метаданных. IMA SDK добавляет в поток метаданные, чтобы получать информацию об объявлениях из медиаконтента. Например, вторым типом метаданных часто является SCTE-35.
В приложениях, использующих Media3 ExoPlayer версии 1.6 или более поздней, по умолчанию обрабатываются потоки с двумя типами метаданных.
Если вы используете ExoPlayer версии ниже 1.6, добавьте в код приложения дополнительный экземпляр MetadataRenderer. В примере ниже добавлен второй экземпляр MetadataRenderer для поддержки двух типов метаданных:
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();;