بالنسبة إلى مصادر البيانات التي تستخدِم نوعَين مختلفَين من البيانات الوصفية، قد تحتاج إلى إعداد ضبط إضافي استنادًا إلى عملية تنفيذ مشغّل الفيديو. يمكن أن يحتوي مصدر البيانات على أنواع متعدّدة من البيانات الوصفية. تضيف "حزمة تطوير البرامج للإعلانات التفاعلية" بيانات وصفية إلى مصدر البيانات لاسترداد معلومات الإعلان من الوسائط. على سبيل المثال، SCTE-35 هو نوع شائع من النوع الثاني من البيانات الوصفية.
بالنسبة إلى التطبيقات التي تستخدِم Media3 ExoPlayer الإصدار 1.6 أو إصدارًا أعلى، يتم تلقائيًا التعامل مع مصادر البيانات التي تتضمّن نوعَين من البيانات الوصفية.
بالنسبة إلى التطبيقات التي تستخدِم إصدارًا من ExoPlayer أقل من الإصدار 1.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();;