תמיכה במספר סוגי מטא-נתונים במקורות נתונים

בשידורים שמשתמשים בשני סוגים שונים של מטא-נתונים, יכול להיות שתצטרכו להגדיר הגדרות נוספות בהתאם להטמעת הנגן. מקור נתונים יכול להכיל כמה סוגים של מטא-נתונים. ה-IMA SDK מוסיף מטא-נתונים לסטרימינג כדי לאחזר את פרטי המודעות מהמדיה. לדוגמה, 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();;