स्ट्रीम में कई तरह के मेटाडेटा का इस्तेमाल किया जा सकता है

दो अलग-अलग तरह के मेटाडेटा का इस्तेमाल करने वाली स्ट्रीम के लिए, आपको अतिरिक्त कॉन्फ़िगरेशन सेटअप की ज़रूरत पड़ सकती है. यह इस बात पर निर्भर करता है कि आपने प्लेअर को कैसे लागू किया है. किसी स्ट्रीम में कई तरह का मेटाडेटा हो सकता है. IMA SDK टूल, मीडिया से विज्ञापन की जानकारी पाने के लिए स्ट्रीम में मेटाडेटा जोड़ता है. उदाहरण के लिए, SCTE-35 एक सामान्य दूसरा मेटाडेटा टाइप है.

Media3 ExoPlayer v1.6 या इससे बाद के वर्शन का इस्तेमाल करने वाले ऐप्लिकेशन के लिए, दो तरह के मेटाडेटा वाली स्ट्रीम डिफ़ॉल्ट रूप से मैनेज की जाती हैं.

अगर आपके ऐप्लिकेशन में ExoPlayer का v1.6 से पहले का वर्शन इस्तेमाल किया जा रहा है, तो आपको ExoPlayer को लागू करने के लिए एक और MetadataRenderer इंस्टेंस जोड़ना होगा. नीचे दिए गए उदाहरण में, दो तरह के मेटाडेटा के साथ काम करने के लिए, दूसरा 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();;