Jetpack Media3 হল মিডিয়া লাইব্রেরিগুলির জন্য নতুন হোম যা Android অ্যাপগুলিকে সমৃদ্ধ অডিও এবং ভিজ্যুয়াল অভিজ্ঞতা প্রদর্শন করতে সক্ষম করে৷ মিডিয়া3 শক্তিশালী কাস্টমাইজেশন, নির্ভরযোগ্যতা এবং অপ্টিমাইজেশান সহ একটি সাধারণ আর্কিটেকচার সরবরাহ করে যা ডিভাইসের ক্ষমতার উপর ভিত্তি করে ফ্র্যাগমেন্টেশনের সাথে আসা জটিলতাকে বিমূর্ত করতে।
এই নথিটি মিডিয়া3-এর সাথে প্লেব্যাক এবং ব্যবহারের ক্ষেত্রে সম্পাদনা করার জন্য মূল API-গুলির একটি ভূমিকা প্রদান করে।
প্লেব্যাক উপাদান
মিডিয়া3 প্লেব্যাক ব্যবহারের ক্ষেত্রে বিভিন্ন মূল উপাদান সরবরাহ করে। আপনি যদি পূর্ববর্তী Android মিডিয়া লাইব্রেরিগুলির সাথে কাজ করে থাকেন তবে এই উপাদানগুলি তৈরি করে এমন ক্লাসগুলি আপনার কাছে পরিচিত হবে৷
নিম্নলিখিত চিত্রটি দেখায় কিভাবে এই উপাদানগুলি একটি সাধারণ অ্যাপে একত্রিত হয়।

মিডিয়া প্লেয়ার
একটি মিডিয়া প্লেয়ার হল আপনার অ্যাপের একটি উপাদান যা মিডিয়া ফাইল প্লেব্যাকের অনুমতি দেয়। Media3 এ, আপনি পাবেন:
| ক্লাস | বর্ণনা | বাস্তবায়ন নোট | 
|---|---|---|
| Player | Playerহল একটি ইন্টারফেস যা একটি মিডিয়া প্লেয়ারের জন্য প্রথাগত উচ্চ-স্তরের ক্ষমতাকে সংজ্ঞায়িত করে, যেমন খেলা, বিরতি এবং খোঁজার ক্ষমতা। | মিডিয়া3-এ, Playerইন্টারফেস হল একটি সাধারণ এপিআই যা বাস্তবায়িত বা বিভিন্ন উপাদান দ্বারা ব্যবহৃত হয়, উদাহরণস্বরূপ,MediaSessionএবংMediaControllerসহ। | 
| ExoPlayer | ExoPlayerহল Media3 এPlayerইন্টারফেসের ডিফল্ট বাস্তবায়ন। | 
Media3 ExoPlayer সম্পর্কে আরও জানুন
মিডিয়া সেশন
একটি মিডিয়া সেশন একটি মিডিয়া প্লেয়ারের সাথে যোগাযোগ করার একটি সর্বজনীন উপায় প্রদান করে। এটি একটি অ্যাপকে বাহ্যিক উত্সগুলিতে মিডিয়া প্লেব্যাকের বিজ্ঞাপন দিতে এবং বাহ্যিক উত্স থেকে প্লেব্যাক নিয়ন্ত্রণের অনুরোধগুলি পেতে সক্ষম করে৷ Media3 এ, আপনি পাবেন:
| ক্লাস | বর্ণনা | বাস্তবায়ন নোট | 
|---|---|---|
| MediaSession | মিডিয়া সেশন আপনার অ্যাপকে একটি অডিও বা ভিডিও প্লেয়ারের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে। তারা বাহ্যিকভাবে মিডিয়া প্লেব্যাকের বিজ্ঞাপন দেয় এবং বাহ্যিক উত্স থেকে প্লেব্যাক কমান্ড গ্রহণ করে। | Media3-এ, একটি MediaSessionকমান্ড কার্যকর করতে এবং বর্তমান অবস্থা পেতে একটিPlayerপ্রয়োজন। | 
| MediaSessionService | MediaSessionServiceব্যাকগ্রাউন্ড প্লেব্যাকের সুবিধার্থে আপনার অ্যাপের প্রধানActivityথেকে আলাদা একটি পরিষেবাতে একটি মিডিয়া সেশন এবং এর সাথে সম্পর্কিত প্লেয়ার রাখে। | |
| MediaController | MediaControllerক্লাসটি সাধারণত আপনার অ্যাপের বাইরে থেকে কমান্ড পাঠাতে ব্যবহৃত হয়, উদাহরণস্বরূপ, অন্যান্য অ্যাপ বা সিস্টেম থেকে। কমান্ডগুলি সংশ্লিষ্টMediaSessionএর অন্তর্নিহিতPlayerপাঠানো হয়। | MediaControllerক্লাসPlayerইন্টারফেস প্রয়োগ করে, কিন্তু একটি পদ্ধতিতে কল করার সময়,MediaControllerসংযুক্তMediaSessionএ পাঠানো কমান্ড পাঠায়। Google অ্যাসিস্ট্যান্টের মতো ক্লায়েন্ট অ্যাপগুলি একটি সংযুক্ত সেশনে প্লেব্যাক নিয়ন্ত্রণ করতেMediaControllerব্যবহার করতে পারে। | 
| MediaLibraryService | একটি MediaLibraryServiceএকটিMediaSessionServiceএর অনুরূপ, ব্যতীত এতে অতিরিক্ত API অন্তর্ভুক্ত থাকে যাতে আপনি ক্লায়েন্ট অ্যাপগুলিতে আপনার সামগ্রী লাইব্রেরি পরিবেশন করতে পারেন৷ | |
| MediaBrowser | MediaBrowserক্লাস ব্যবহারকারীকে একটি মিডিয়া অ্যাপের সামগ্রী লাইব্রেরির মাধ্যমে নেভিগেট করতে এবং কোন আইটেমগুলি খেলতে হবে তা নির্বাচন করার অনুমতি দেয়। | MediaBrowserক্লাসMediaControllerএবংPlayerউভয় ইন্টারফেস প্রয়োগ করে।MediaControllerমতো, Android Auto-এর মতো ক্লায়েন্ট অ্যাপগুলি সাধারণতMediaBrowserপ্রয়োগ করে। | 
Media3 MediaSession সম্পর্কে আরও জানুন
UI উপাদান
Media3 ভিডিও দেখা এবং প্লেব্যাক নিয়ন্ত্রণের জন্য ডিফল্ট UI উপাদান সরবরাহ করে।
| ক্লাস | বর্ণনা | বাস্তবায়ন নোট | 
|---|---|---|
| PlayerView | ভিডিও এবং প্লেব্যাক নিয়ন্ত্রণ দেখানোর জন্য একটি ডিফল্ট View। | ExoPlayer,MediaControllerবা অন্য কোন কাস্টমPlayerসাথে সংযোগ করে। | 
| PlayerSurface | ভিডিও দেখানোর জন্য একটি ডেডিকেটেড ড্রয়িং Surfaceপ্রতিনিধিত্বকারী একটি কম্পোজেবল। | যেকোনো Playerসাথে সংযোগ করে, কিন্তু প্লেব্যাক নিয়ন্ত্রণ ধারণ করে না। শুধুমাত্র ফ্রেমের রেন্ডারিংয়ের জন্য ব্যবহার করা হয় এবং বিভিন্নContentScaleপ্রকার অনুযায়ী আকার পরিবর্তন করা যেতে পারে। এটি এবং অন্যান্য অনেক কম্পোজেবল কম্পোজ UI ইউটিলিটিগুলিতে পাওয়া যাবে। | 
উপাদান সম্পাদনা
মিডিয়া 3-এ মিডিয়া সম্পাদনা ব্যবহারের ক্ষেত্রে ট্রান্সফরমার API অন্তর্ভুক্ত রয়েছে, যার মধ্যে রয়েছে:
- অডিও এবং ভিডিও প্রক্রিয়াকরণ, যেমন ফিল্টার এবং প্রভাব যোগ করা
- বিশেষ ফরম্যাট পরিচালনা করা, যেমন HDR ভিডিও এবং স্লো-মোশন ভিডিও
- রচনা, যেমন একাধিক ইনপুট ফাইল একত্রিত করা
- একটি ফাইলে চূড়ান্ত আউটপুট রপ্তানি করা হচ্ছে
| ক্লাস | বর্ণনা | বাস্তবায়ন নোট | 
|---|---|---|
| Transformer | Transformerক্লাসটি ট্রান্সফরমেশন শুরু করতে এবং বন্ধ করতে এবং চলমান ট্রান্সফরমেশনের অগ্রগতি আপডেট চেক করতে ব্যবহার করুন। | |
| Effects | একটি Effectsবস্তু একটি মিডিয়া আইটেম প্রয়োগ করার জন্য অডিও এবং ভিডিও প্রভাব একটি সংগ্রহ. | রপ্তানি প্রক্রিয়া শুরু করার আগে আপনি একটি মিডিয়া আইটেমে যুক্ত প্রভাবগুলির পূর্বরূপ দেখতে ExoPlayerব্যবহার করতে পারেন। | 
| EditedMediaItem | একটি EditedMediaItemপ্রক্রিয়া করার জন্য একটি মিডিয়া আইটেম এবং এটিতে প্রয়োগ করার জন্য সম্পাদনাগুলি উপস্থাপন করে। | 
Media3 ট্রান্সফরমার সম্পর্কে আরও জানুন
পরিচিতি ভিডিও
যারা এটি তৈরি করেছেন তাদের থেকে Media3 এর পরিচিতির জন্য নীচের ভিডিওটি দেখুন।
দরকারী লিঙ্ক
- মিডিয়া বিকাশকারী কেন্দ্র
-  ExoPlayerডক্স
- মাইগ্রেশন গাইড
- GitHub-এ AndroidX Media3
- Media3 মিডিয়া সেশনের নমুনা অ্যাপ
- ইউনিভার্সাল অ্যান্ড্রয়েড মিউজিক প্লেয়ার নমুনা অ্যাপ
