Поддержка нескольких типов метаданных в потоках
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Для потоков, использующих два разных типа метаданных, вам может потребоваться дополнительная настройка конфигурации в зависимости от реализации вашего проигрывателя. Поток может содержать несколько типов метаданных. IMA SDK добавляет метаданные в поток для извлечения рекламной информации из медиа. Например, SCTE-35 — это распространенный второй тип метаданных.
Для приложений, использующих Media3 ExoPlayer v1.6 или выше, по умолчанию обрабатываются потоки с двумя типами метаданных.
Для приложений, использующих версию ExoPlayer ниже v1.6, необходимо добавить дополнительный экземпляр MetadataRenderer
в реализацию ExoPlayer. Следующий пример добавляет второй экземпляр 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();;
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-30 UTC.
[null,null,["Последнее обновление: 2025-08-30 UTC."],[],[],null,["For streams using two different types of metadata, you might need additional\nconfiguration setup depending on your player implementation. A stream can\ncontain multiple types of metadata. The IMA SDK adds metadata to the stream to\nretrieve ad information from the media. For example,\n[SCTE-35](//support.google.com/admanager/answer/7506166) is a common second\nmetadata type.\n\nFor apps using\n[Media3 ExoPlayer](//developer.android.com/media/media3/exoplayer) v1.6 or\nhigher, streams with two metadata types are handled by default.\n\nFor apps using an ExoPlayer version lower than v1.6, you must add an additional\n[`MetadataRenderer`](//developer.android.com/reference/androidx/media3/exoplayer/metadata/MetadataRenderer)\ninstance to your ExoPlayer implementation. The following example adds a\nsecond `MetadataRenderer` instance to support two metadata types: \n\n RenderersFactory defaultRenderersFactory = new DefaultRenderersFactory(context) {\n\n @Override\n protected void buildMetadataRenderers(Context context, MetadataOutput output,\n Looper outputLooper, @ExtensionRendererMode int extensionRendererMode,\n ArrayList\u003cRenderer\u003e out) {\n // Add a `MetadataRenderer` for each type of metadata. This example adds 2.\n out.add(new MetadataRenderer(output, outputLooper));\n out.add(new MetadataRenderer(output, outputLooper));\n }\n };\n\n new ExoPlayer.Builder()\n .setRenderersFactory(defaultRenderersFactory)\n .setMediaSourceFactory(mediaSourceFactory)\n .build();;"]]