পিকচার-ইন-পিকচার (পিআইপি) হল একটি বিশেষ ধরণের মাল্টি-উইন্ডো মোড যা বেশিরভাগ সময় ভিডিও প্লেব্যাকের জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীকে অ্যাপগুলির মধ্যে নেভিগেট করার সময় বা মূল স্ক্রিনে কন্টেন্ট ব্রাউজ করার সময় স্ক্রিনের এক কোণে পিন করা একটি ছোট উইন্ডোতে ভিডিও দেখতে দেয়।
পিন করা ভিডিও ওভারলে উইন্ডো প্রদানের জন্য PiP অ্যান্ড্রয়েড ৭.০-এ উপলব্ধ মাল্টি-উইন্ডো API ব্যবহার করে। আপনার অ্যাপে PiP যোগ করতে, আপনাকে আপনার কার্যকলাপ নিবন্ধন করতে হবে, প্রয়োজন অনুসারে আপনার কার্যকলাপ PiP মোডে স্যুইচ করতে হবে এবং নিশ্চিত করতে হবে যে UI উপাদানগুলি লুকানো আছে এবং কার্যকলাপ PiP মোডে থাকা অবস্থায় ভিডিও প্লেব্যাক চলতে থাকে।
使用 Jetpack 实现 PiP
使用 Jetpack 画中画库来实现画中画体验,因为它可以简化集成并减少常见的应用内问题。如需查看其使用示例,请参阅我们的平台示例应用。不过,如果您希望使用平台 API 实现 PiP,请参阅以下文档。
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 মোডে থাকা অবস্থায় ভিডিও প্লেব্যাক চলতে থাকে।
使用 Jetpack 实现 PiP
使用 Jetpack 画中画库来实现画中画体验,因为它可以简化集成并减少常见的应用内问题。如需查看其使用示例,请参阅我们的平台示例应用。不过,如果您希望使用平台 API 实现 PiP,请参阅以下文档。
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() }