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 প্লেয়ার মিউট ও আনমিউট করার বোতাম।
LiveButton একটি বোতাম যা নির্দেশ করে যে লাইভস্ট্রিমের প্লেব্যাক লাইভ এজে আছে কিনা এবং ট্যাপ করা হলে লাইভ এজে নিয়ে যায়।
PositionAndDurationText একটি টেক্সট কম্পোজেবল যা বর্তমান পজিশন এবং মোট সময়কাল দেখায়।
PositionText একটি টেক্সট কম্পোজেবল যা বর্তমান পজিশন দেখায়।
DurationText একটি টেক্সট কম্পোজেবল যা মোট সময়কাল দেখায়।
RemainingDurationText একটি টেক্সট কম্পোজেবল যা বাকি সময় দেখায়।
ProgressSlider একটি স্লাইডার যা প্লেব্যাক প্রগ্রেস দেখায় এবং ব্যবহারকারীকে সিক করার অনুমতি দেয়।
BufferingIndicator প্লেয়ার বাফার করার সময় প্রগ্রেস ইন্ডিকেটর দেখানো হয়।

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

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

কম্পোনেন্ট বর্ণনা
ContentFrame মিডিয়া কন্টেন্টের জন্য একটি সারফেস যা অ্যাস্পেক্ট রেশিও ম্যানেজমেন্ট, ছোট বড় করা, শাটার, আর্টওয়ার্ক এবং সাবটাইটেল স্লট ম্যানেজ করে।
PlayerSurface র সারফেস যা AndroidView-এ SurfaceView এবং TextureView-কে র‍্যাপ করে।