যেসব স্ট্রিমে দুই ধরনের মেটাডেটা ব্যবহৃত হয়, সেগুলোর ক্ষেত্রে আপনার প্লেয়ার ইমপ্লিমেন্টেশনের ওপর নির্ভর করে অতিরিক্ত কনফিগারেশন সেটআপের প্রয়োজন হতে পারে। একটি স্ট্রিমে একাধিক ধরনের মেটাডেটা থাকতে পারে। মিডিয়া থেকে বিজ্ঞাপনের তথ্য সংগ্রহের জন্য IMA SDK স্ট্রিমে মেটাডেটা যোগ করে। উদাহরণস্বরূপ, SCTE-35 হলো একটি প্রচলিত দ্বিতীয় মেটাডেটা টাইপ।
যেসব অ্যাপ Media3 ExoPlayer v1.6 বা তার উচ্চতর সংস্করণ ব্যবহার করে, সেগুলোতে ডিফল্টরূপে দুই ধরনের মেটাডেটা যুক্ত স্ট্রিমগুলো পরিচালনা করা হয়।
যেসব অ্যাপ v1.6-এর চেয়ে কম ExoPlayer সংস্করণ ব্যবহার করে, তাদের জন্য আপনাকে আপনার 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();;