নির্ভরতা যোগ করুন
Media3 লাইব্রেরিতে দুটি Jetpack Compose-ভিত্তিক UI মডিউল অন্তর্ভুক্ত রয়েছে। আপনাকে দুটিই যোগ করতে হবে না, কারণ Material3 মডিউলটি মূল মডিউলটির উপর নির্ভরশীল।
কোটলিন
// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.10.0")
implementation("androidx.media3:media3-ui-compose-material3:1.10.0")
গ্রুভি
// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.10.0"
implementation "androidx.media3:media3-ui-compose-material3:1.10.0"
আমরা আপনাকে আপনার অ্যাপটি কম্পোজ-ফার্স্ট পদ্ধতিতে তৈরি করতে অথবা ভিউ ব্যবহার থেকে সরে আসতে দৃঢ়ভাবে উৎসাহিত করি।
সম্পূর্ণ কম্পোজ ডেমো অ্যাপ
যদিও media3-ui-compose লাইব্রেরিতে ডিফল্টভাবে কোনো কম্পোজেবল (যেমন বাটন, ইন্ডিকেটর, ইমেজ বা ডায়ালগ) অন্তর্ভুক্ত নেই, তবুও আপনি সম্পূর্ণরূপে কম্পোজে লেখা একটি ডেমো অ্যাপ খুঁজে পাবেন যা PlayerView AndroidView এর মধ্যে র্যাপ করার মতো কোনো ইন্টারঅপারেবিলিটি সমাধান এড়িয়ে চলে। ডেমো অ্যাপটি media3-ui-compose মডিউলের UI স্টেট হোল্ডার ক্লাসগুলো ব্যবহার করে এবং Compose Material3 লাইব্রেরিটি কাজে লাগায়।
আমার কোন লাইব্রেরিটি প্রয়োজন?
আপনার প্রয়োজনীয় কাস্টমাইজেশনের মাত্রার উপর নির্ভর করে, আপনি দুটি Media3 Compose লাইব্রেরির মধ্যে থেকে একটি বেছে নিতে পারেন। পার্থক্যটি বোঝার জন্য, UI স্টেট প্রোডাকশন পাইপলাইনটি নিয়ে ভাবা সহায়ক: Business logic → UI logic → UI ।
আপনার UI কম্পোনেন্টগুলোর ওপর সম্পূর্ণ নিয়ন্ত্রণ পেতে media3-ui-compose ব্যবহার করুন।
এই লাইব্রেরিটি Business logic → UI logic মধ্যে সংযোগ স্থাপন করে। এতে PlayerSurface এবং ContentFrame মতো মৌলিক কম্পোনেন্টগুলোর পাশাপাশি স্টেট হোল্ডার ক্লাসও (যেমন, PlayPauseButtonState ) রয়েছে, যা Player স্টেটকে ইউআই স্টেটে রূপান্তর করে।
এই লাইব্রেরিটি ব্যবহারের জন্য প্রস্তুত ম্যাটেরিয়াল ডিজাইন কম্পোনেন্ট সরবরাহ করে না । আপনাকে নিজের UI কম্পোনেন্ট তৈরি করতে হবে এবং সেগুলোর স্টাইল নির্ধারণ করতে হবে। এটি আপনাকে ডিজাইনের বাহ্যিক রূপ ও অনুভূতির উপর সর্বোচ্চ নিয়ন্ত্রণ দেয়, তাই আপনার যদি একটি অত্যন্ত কাস্টমাইজড ডিজাইন সিস্টেম থাকে, তবে এটি আদর্শ।
ম্যাটেরিয়াল ডিজাইনের সাথে দ্রুত ইন্টিগ্রেশনের জন্য media3-ui-compose-material3 ব্যবহার করুন।
এই লাইব্রেরিটি পাইপলাইনের চূড়ান্ত UI অংশটি প্রদান করে। এটি media3-ui-compose উপর নির্ভরশীল এবং এতে আগে থেকে তৈরি Composable ফাংশন অন্তর্ভুক্ত রয়েছে, যেগুলো Material3 কম্পোনেন্ট দিয়ে স্টাইল করা। এর মধ্যে Player Composable-ও আছে, যা ভিডিও, কন্ট্রোল এবং প্রোগ্রেস বার সহ একটি পূর্ণাঙ্গ মিডিয়া প্লেব্যাক অভিজ্ঞতা প্রদান করে। এর ফলে আপনাকে প্রথম থেকে নিজের বাটন এবং অন্যান্য UI এলিমেন্ট তৈরি করার প্রয়োজন হয় না। আপনি চাইলে এই কম্পোনেন্টগুলোর থিম, রঙ এবং আইকন কাস্টমাইজ করতে পারবেন, কিন্তু এর মূল বাস্তবায়নটি আপনার জন্য সরবরাহ করা থাকে।
এক নজরে
| বৈশিষ্ট্য | media3-ui-compose | media3-ui-compose-material3 |
|---|---|---|
| UI উপাদান | PlayerSurface এবং ContentFrame মতো মৌলিক উপাদান রয়েছে, কিন্তু কোনো আগে থেকে স্টাইল করা বাটন বা কন্ট্রোল নেই । | এটি Player Composable এবং PlayPauseButton , SeekBackButton , PositionAndDurationText ইত্যাদির মতো Material3-স্টাইলে তৈরি পূর্ব-নির্মিত Composable-এর একটি সম্পূর্ণ সেট প্রদান করে। |
| রাষ্ট্রীয় ব্যবস্থাপনা | remember...State যুক্তিটি পরিচালনা করার জন্য রাষ্ট্রধারীদের। | অভ্যন্তরীণভাবে স্টেট পরিচালনা করে, কিন্তু প্রয়োজনে আপনি স্টেট হোল্ডারদের অ্যাক্সেস করতে পারবেন। |
| নির্ভরশীলতা | androidx.compose.foundation | media3-ui-compose , androidx.compose.material3 , com.google.android.material |
| প্রাথমিক ব্যবহারের ক্ষেত্র | কাস্টম ডিজাইন সিস্টেম ব্যবহার করে প্লেয়ার UI তৈরি করুন। এর ডিজাইন ও অনুভূতির উপর সম্পূর্ণ নিয়ন্ত্রণ। | ম্যাটেরিয়াল ডিজাইন ৩-এর নির্দেশিকা অনুসরণ করে দ্রুত একটি প্লেয়ার UI তৈরি করা। |