পিকচার-ইন-পিকচার (পিআইপি) হল একটি বিশেষ ধরণের মাল্টি-উইন্ডো মোড যা বেশিরভাগ সময় ভিডিও প্লেব্যাকের জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীকে অ্যাপগুলির মধ্যে নেভিগেট করার সময় বা মূল স্ক্রিনে কন্টেন্ট ব্রাউজ করার সময় স্ক্রিনের এক কোণে পিন করা একটি ছোট উইন্ডোতে ভিডিও দেখতে দেয়।
পিন করা ভিডিও ওভারলে উইন্ডো প্রদানের জন্য PiP অ্যান্ড্রয়েড ৭.০-এ উপলব্ধ মাল্টি-উইন্ডো API ব্যবহার করে। আপনার অ্যাপে PiP যোগ করতে, আপনাকে আপনার কার্যকলাপ নিবন্ধন করতে হবে, প্রয়োজন অনুসারে আপনার কার্যকলাপ PiP মোডে স্যুইচ করতে হবে এবং নিশ্চিত করতে হবে যে UI উপাদানগুলি লুকানো আছে এবং কার্যকলাপ PiP মোডে থাকা অবস্থায় ভিডিও প্লেব্যাক চলতে থাকে।
Implement PiP with Jetpack
Use the Jetpack Picture-in-Picture library to implement picture-in-picture experience as it streamlines integration and reduces common in-app issues. Refer to our platform sample app to see an example of its usage. However, if you prefer to implement PiP using the platform APIs, refer to the following documentation.
PiP মোডে আপনার UI পরিচালনা করুন
যখন আপনি PiP মোডে প্রবেশ করেন, তখন আপনার অ্যাপের সম্পূর্ণ UI PiP উইন্ডোতে প্রবেশ করে, যদি না আপনি PiP মোডে আপনার UI কেমন দেখাবে তা নির্দিষ্ট করেন।
প্রথমে, আপনার অ্যাপটি কখন 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() }
পিকচার-ইন-পিকচার (পিআইপি) হল একটি বিশেষ ধরণের মাল্টি-উইন্ডো মোড যা বেশিরভাগ সময় ভিডিও প্লেব্যাকের জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীকে অ্যাপগুলির মধ্যে নেভিগেট করার সময় বা মূল স্ক্রিনে কন্টেন্ট ব্রাউজ করার সময় স্ক্রিনের এক কোণে পিন করা একটি ছোট উইন্ডোতে ভিডিও দেখতে দেয়।
পিন করা ভিডিও ওভারলে উইন্ডো প্রদানের জন্য PiP অ্যান্ড্রয়েড ৭.০-এ উপলব্ধ মাল্টি-উইন্ডো API ব্যবহার করে। আপনার অ্যাপে PiP যোগ করতে, আপনাকে আপনার কার্যকলাপ নিবন্ধন করতে হবে, প্রয়োজন অনুসারে আপনার কার্যকলাপ PiP মোডে স্যুইচ করতে হবে এবং নিশ্চিত করতে হবে যে UI উপাদানগুলি লুকানো আছে এবং কার্যকলাপ PiP মোডে থাকা অবস্থায় ভিডিও প্লেব্যাক চলতে থাকে।
Implement PiP with Jetpack
Use the Jetpack Picture-in-Picture library to implement picture-in-picture experience as it streamlines integration and reduces common in-app issues. Refer to our platform sample app to see an example of its usage. However, if you prefer to implement PiP using the platform APIs, refer to the following documentation.
PiP মোডে আপনার UI পরিচালনা করুন
যখন আপনি PiP মোডে প্রবেশ করেন, তখন আপনার অ্যাপের সম্পূর্ণ UI PiP উইন্ডোতে প্রবেশ করে, যদি না আপনি PiP মোডে আপনার UI কেমন দেখাবে তা নির্দিষ্ট করেন।
প্রথমে, আপনার অ্যাপটি কখন 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() }