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