پشتیبانی از انواع مختلف فراداده در جاری‌سازی‌ها

برای جاری‌سازی‌هایی که از دو نوع مختلف فراداده استفاده می‌کنند، ممکن است بسته به پیاده‌سازی پخش‌کننده خود نیاز به پیکربندی اضافی داشته باشید. یک جاری‌سازی می‌تواند شامل چندین نوع فراداده باشد. «کیت توسعه نرم‌افزار IMA» فراداده را به جاری‌سازی اضافه می‌کند تا اطلاعات آگهی را از رسانه بازیابی کند. برای مثال، SCTE-35 نوع فراداده رایج دوم است.

برای برنامه‌هایی که از Media3 ExoPlayer نسخه ۱.۶ یا بالاتر استفاده می‌کنند، جاری‌سازی‌ها با دو نوع فراداده به‌طور پیش‌فرض مدیریت می‌شوند.

برای برنامه‌هایی که از نسخه 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();;