রচনা-ভিত্তিক UI দিয়ে শুরু করা, রচনা-ভিত্তিক UI দিয়ে শুরু করা

নির্ভরতা যোগ করুন

Media3 লাইব্রেরিতে দুটি Jetpack Compose-ভিত্তিক UI মডিউল অন্তর্ভুক্ত রয়েছে। আপনাকে দুটিই যোগ করতে হবে না, কারণ Material3 মডিউলটি মূল মডিউলটির উপর নির্ভরশীল।

কোটলিন

// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.10.1")
implementation("androidx.media3:media3-ui-compose-material3:1.10.1")

গ্রুভি

// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.10.1"
implementation "androidx.media3:media3-ui-compose-material3:1.10.1"

আমরা আপনাকে আপনার অ্যাপটি কম্পোজ-ফার্স্ট পদ্ধতিতে তৈরি করতে অথবা ভিউ ব্যবহার থেকে সরে আসতে দৃঢ়ভাবে উৎসাহিত করি।

সম্পূর্ণ কম্পোজ ডেমো অ্যাপ

যদিও media3-ui-compose লাইব্রেরিতে আগে থেকে কম্পোজেবল (যেমন বাটন, ইন্ডিকেটর, ইমেজ বা ডায়ালগ) অন্তর্ভুক্ত নেই, তবুও আপনি সম্পূর্ণরূপে Compose-এ লেখা একটি ডেমো অ্যাপ খুঁজে পেতে পারেন যা PlayerView AndroidView এর মধ্যে র‍্যাপ করার মতো কোনো ইন্টারঅপারেবিলিটি সমাধান এড়িয়ে চলে। ডেমো অ্যাপটি media3-ui-compose মডিউল এবং Compose Material3 লাইব্রেরি থেকে UI স্টেট হোল্ডার ক্লাসগুলো ব্যবহার করে।

আমার কোন লাইব্রেরিটি প্রয়োজন?

আপনার প্রয়োজনীয় কাস্টমাইজেশনের মাত্রার উপর নির্ভর করে, আপনি দুটি Media3 Compose লাইব্রেরির মধ্যে থেকে একটি বেছে নিতে পারেন। পার্থক্যটি বোঝার জন্য, UI স্টেট প্রোডাকশন পাইপলাইনটি নিয়ে ভাবা সহায়ক: Business logic → UI logic → UI

আপনার UI কম্পোনেন্টগুলোর ওপর সম্পূর্ণ নিয়ন্ত্রণ পেতে media3-ui-compose ব্যবহার করুন।

এই লাইব্রেরিটি Business logic → UI logic মধ্যে সংযোগ স্থাপন করে। এতে PlayerSurface এবং ContentFrame মতো মৌলিক কম্পোনেন্টগুলোর পাশাপাশি স্টেট হোল্ডার ক্লাসও (যেমন, PlayPauseButtonState , CurrentMediaItemState , PlaylistState , ErrorState ) রয়েছে, যেগুলো Player স্টেটকে ইউআই স্টেটে রূপান্তর করে।

এই লাইব্রেরিটি ব্যবহারের জন্য প্রস্তুত ম্যাটেরিয়াল ডিজাইন কম্পোনেন্ট সরবরাহ করে না । আপনাকে নিজের UI কম্পোনেন্ট তৈরি করতে হবে এবং সেগুলোর স্টাইল নির্ধারণ করতে হবে। এটি আপনাকে ডিজাইনের বাহ্যিক রূপ ও অনুভূতির উপর সর্বোচ্চ নিয়ন্ত্রণ দেয়, তাই আপনার যদি একটি অত্যন্ত কাস্টমাইজড ডিজাইন সিস্টেম থাকে, তবে এটি আদর্শ।

ম্যাটেরিয়াল ডিজাইনের সাথে দ্রুত ইন্টিগ্রেশনের জন্য media3-ui-compose-material3 ব্যবহার করুন।

এই লাইব্রেরিটি পাইপলাইনের চূড়ান্ত UI অংশটি প্রদান করে। এটি media3-ui-compose উপর নির্ভরশীল এবং এতে আগে থেকে তৈরি করা কম্পোজেবল ফাংশন অন্তর্ভুক্ত রয়েছে, যেগুলো Material3 কম্পোনেন্ট দিয়ে স্টাইল করা হয়েছে, যার মধ্যে Player এবং MiniController কম্পোজেবলগুলোও আছে। Player কম্পোজেবলটি ভিডিও, কন্ট্রোল এবং প্রোগ্রেস বার সহ একটি পূর্ণাঙ্গ মিডিয়া প্লেব্যাক অভিজ্ঞতা প্রদান করে, যা আপনি PlayerDefaults ব্যবহার করে আরও কাস্টমাইজ করতে পারেন। MiniController কম্পোজেবলটি বর্তমান মিডিয়া আইটেম সম্পর্কে তথ্য প্রদর্শনের পাশাপাশি প্লেয়ার নিয়ন্ত্রণ করার জন্য একটি কম্প্যাক্ট অ্যাফোর্ডেন্স প্রদান করে। এটি আপনাকে প্রথম থেকে নিজের বাটন এবং অন্যান্য UI এলিমেন্ট তৈরি করার প্রয়োজনীয়তা দূর করে। আপনি এখনও এই কম্পোনেন্টগুলোর থিম, রঙ এবং আইকন কাস্টমাইজ করতে পারেন, কিন্তু এর মূল বাস্তবায়ন আপনার জন্য সরবরাহ করা থাকে।

এক নজরে

বৈশিষ্ট্য media3-ui-compose media3-ui-compose-material3
UI উপাদান PlayerSurface এবং ContentFrame মতো মৌলিক উপাদান রয়েছে, কিন্তু কোনো আগে থেকে স্টাইল করা বাটন বা কন্ট্রোল নেই এটি Player এবং MiniController কম্পোজেবলগুলোর পাশাপাশি PlayPauseButton , SeekBackButton , PositionAndDurationText , ErrorText ইত্যাদির মতো Material3-স্টাইলে তৈরি পূর্ব-নির্মিত কম্পোজেবলগুলোর একটি সম্পূর্ণ সেট প্রদান করে।
রাষ্ট্রীয় ব্যবস্থাপনা remember...State যুক্তিটি পরিচালনা করার জন্য রাষ্ট্রধারীদের। অভ্যন্তরীণভাবে স্টেট পরিচালনা করে, কিন্তু প্রয়োজনে আপনি স্টেট হোল্ডারদের অ্যাক্সেস করতে পারবেন।
নির্ভরশীলতা androidx.compose.foundation media3-ui-compose , androidx.compose.material3 , com.google.android.material
প্রাথমিক ব্যবহারের ক্ষেত্র কাস্টম ডিজাইন সিস্টেম ব্যবহার করে প্লেয়ার UI তৈরি করুন। এর ডিজাইন ও অনুভূতির উপর সম্পূর্ণ নিয়ন্ত্রণ। ম্যাটেরিয়াল ডিজাইন ৩-এর নির্দেশিকা অনুসরণ করে দ্রুত একটি প্লেয়ার UI তৈরি করা।