إتاحة أنواع متعددة من البيانات الوصفية في أحداث البث

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