Material3 Compose

media3-ui-compose-material3 লাইব্রেরি এমন একটি Player কম্পোজ করার মতো আইটেম প্রদান করে যা প্লেয়ার কন্ট্রোল, প্রগ্রেস বার ও বর্তমান মিডিয়া কন্টেন্ট দেখায়। এটি ইন্টার্নালি স্টেট ম্যানেজমেন্ট ও Material3 স্টাইলিং, দুটিই ম্যানেজ করে। কোন লাইব্রেরি ব্যবহার করতে হবে সেই সম্পর্কে আরও তথ্য পেতে, Media3 Compose ওভারভিউ দেখুন।

// The library provides styled UI components
Row {
  SeekBackButton(player)
  PlayPauseButton(player)
  SeekForwardButton(player)
}

// You can rearrange the composables into a layout that suits your needs
@Composable
fun PlayerProgressControlsLeftAligned(player: Player) {
  Row {
    PositionAndDurationText(player)
    ProgressSlider(player)
  }
}

@Composable
fun PlayerProgressControlsCenterAligned(player: Player) {
  Row {
    PositionText(player)
    ProgressSlider(player)
    DurationText(player)
  }
}

Material3 কম্পোনেন্ট কাস্টমাইজ করা

media3-ui-compose-material3 Material3 ডিজাইন মেনে চলা কম্পোনেন্ট প্রদান করলেও, থিমিংয়ের উপর আপনার সম্পূর্ণ নিয়ন্ত্রণ থাকে। আপনি MaterialTheme-এর মধ্যে প্লেয়ার UI রেখে রঙ, টাইপোগ্রাফি ও আকার কাস্টমাইজ করতে পারবেন।

যেমন, PlayPauseButton-এর রঙ পরিবর্তন করতে, আপনি একটি কাস্টম colorScheme প্রদান করতে পারেন:

MaterialTheme(
  colorScheme =
    lightColorScheme(
      primary = Color.Red, // Change the primary color for the button
      onPrimary = Color.White,
    )
) {
  // The PlayPauseButton will now use the custom colors
  PlayPauseButton(player)
}

উপলভ্য Material3 কম্পোনেন্ট

media3-ui-compose-material3 লাইব্রেরি সাধারণ প্লেয়ার কন্ট্রোলের জন্য আগে থেকে তৈরি কম্পোজ করার মতো আইটেমের একটি সেট প্রদান করে। আপনার অ্যাপে সরাসরি ব্যবহার করতে পারবেন এমন কিছু কম্পোনেন্ট এখানে দেওয়া হল:

কম্পোনেন্ট বর্ণনা
Player কন্ট্রোল, প্রোগ্রেস বার ও কন্টেন্ট ফ্রেম সহ প্লেয়ার।
PlayPauseButton চালানো ও পজ করার মধ্যে টগল করার বোতাম।
SeekBackButton নির্ধারিত ইনক্রিমেন্ট অনুযায়ী পিছনের দিকে খোঁজার বোতাম।
SeekForwardButton নির্ধারিত ইনক্রিমেন্ট অনুযায়ী এগিয়ে যাওয়ার বোতাম।
NextButton পরের মিডিয়া আইটেমে যাওয়ার বোতাম।
PreviousButton আগের মিডিয়া আইটেমে যাওয়ার জন্য একটি বোতাম।
RepeatButton রিপিট মোডগুলির মধ্যে একটিতে পরিবর্তন করার বোতাম।
ShuffleButton শাফেল মোড টগল করার জন্য একটি বোতাম।
MuteButton প্লেয়ার মিউট ও আনমিউট করার বোতাম।
PositionAndDurationText বর্তমান পজিশন ও মোট সময়সীমা দেখায় এমন একটি টেক্সট কম্পোজ করার উপযুক্ত।
PositionText বর্তমান পজিশন দেখায় এমন একটি টেক্সট কম্পোজ করার উপযুক্ত আইটেম।
DurationText মোট সময়সীমা দেখায় এমন একটি টেক্সট কম্পোজ করার উপযুক্ত।
RemainingDurationText বাকি থাকা সময়সীমা দেখানোর জন্য টেক্সট কম্পোজ করার উপযুক্ত আইটেম।
ProgressSlider একটি স্লাইডার যা প্লেব্যাকের অগ্রগতি দেখায় এবং ব্যবহারকারীকে ভিডিওর কোনও অংশে যেতে দেয়।

এটি সম্পূর্ণ তালিকা নয়। উপলভ্য সব কম্পোনেন্ট সম্পর্কে জানতে লাইব্রেরির API রেফারেন্স দেখুন।

আগে থেকে তৈরি করা আরও দুটি কম্পোজ করার মতো আইটেম যা আপনার প্রয়োজন হতে পারে তা হল সারফেস ম্যানেজমেন্ট সম্পর্কিত এবং সেগুলি media3-ui-compose মডিউলে থাকে কারণ সেগুলিতে মেটেরিয়াল থিমিং থাকে না।

কম্পোনেন্ট বর্ণনা
ContentFrame মিডিয়া কন্টেন্ট দেখানোর জন্য একটি সারফেস যা অ্যাস্পেক্ট রেশিও ম্যানেজমেন্ট, রিসাইজিং ও শাটার ম্যানেজ করে
PlayerSurface AndroidView-এ SurfaceView ও TextureView-কে মোড়ানো কাঁচা রাস্তা