পিকচার-ইন-পিকচার (পিআইপি) হল একটি বিশেষ ধরনের মাল্টি-উইন্ডো মোড যা বেশিরভাগ ভিডিও প্লেব্যাকের জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীকে অ্যাপের মধ্যে নেভিগেট করার সময় বা প্রধান স্ক্রিনে সামগ্রী ব্রাউজ করার সময় স্ক্রিনের একটি কোণায় পিন করা একটি ছোট উইন্ডোতে একটি ভিডিও দেখতে দেয়।
PiP পিন করা ভিডিও ওভারলে উইন্ডো প্রদান করার জন্য Android 7.0-এ উপলব্ধ মাল্টি-উইন্ডো API-গুলি ব্যবহার করে। আপনার অ্যাপে PiP যোগ করতে, আপনাকে আপনার অ্যাক্টিভিটি রেজিস্টার করতে হবে, আপনার অ্যাক্টিভিটিকে প্রয়োজন অনুযায়ী PiP মোডে স্যুইচ করতে হবে এবং নিশ্চিত করুন যে UI উপাদান লুকানো আছে এবং যখন অ্যাক্টিভিটি PiP মোডে থাকে তখন ভিডিও প্লেব্যাক চলতে থাকে।
PiP মোডে আপনার UI পরিচালনা করুন
আপনি যখন PiP মোডে প্রবেশ করেন, তখন আপনার অ্যাপের সম্পূর্ণ UI PiP উইন্ডোতে প্রবেশ করে, যদি না আপনি উল্লেখ করেন যে আপনার UI কে PiP মোডে এবং এর বাইরে দেখতে হবে।
প্রথমে আপনাকে জানতে হবে আপনার অ্যাপ কখন PiP মোডে আছে কি না। আপনি এটি অর্জন করতে OnPictureInPictureModeChangedProvider
ব্যবহার করতে পারেন। আপনার অ্যাপ PiP মোডে আছে কিনা তা নিচের কোডটি আপনাকে বলে।
@Composable fun rememberIsInPipMode(): Boolean { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { val activity = LocalContext.current.findActivity() var pipMode by remember { mutableStateOf(activity.isInPictureInPictureMode) } DisposableEffect(activity) { val observer = Consumer<PictureInPictureModeChangedInfo> { info -> pipMode = info.isInPictureInPictureMode } activity.addOnPictureInPictureModeChangedListener( observer ) onDispose { activity.removeOnPictureInPictureModeChangedListener(observer) } } return pipMode } else { return false } }
এখন, অ্যাপটি যখন PiP মোডে প্রবেশ করবে তখন কোন UI উপাদানগুলি দেখাতে হবে তা টগল করতে আপনি rememberIsInPipMode()
ব্যবহার করতে পারেন:
val inPipMode = rememberIsInPipMode() Column(modifier = modifier) { // This text will only show up when the app is not in PiP mode if (!inPipMode) { Text( text = "Picture in Picture", ) } VideoPlayer() }