موبائل ایپلیکیشنز میں Picture-in-Picture — یہ کیا ہے، کیسے کام کرتا ہے اور کہاں استعمال ہوتا ہے

مصنف: IT Sectr اشاعت: 2026-05-25 مطالعے کا وقت: 9 منٹ

Picture-in-Picture (PiP) ایک ویڈیو پلے بیک موڈ ہے جو دوسری ایپلیکیشنز کے اوپر فلوٹنگ ونڈو میں ویڈیو دکھاتا ہے، جس سے صارف ایپ کو چھوٹا کرنے یا پروگراموں کے درمیان سوئچ کرنے پر بھی دیکھتا رہ سکتا ہے۔ PiP ونڈو خود بخود اسکرین کے کونے میں پوزیشن ہو جاتی ہے اور صارف اسے منتقل کر سکتا ہے۔ Apple AVPictureInPictureController دستاویزات (2026) کے مطابق، PiP موڈ iOS ورژن 14 سے اور Android ورژن 8.0 سے سپورٹ کیا جاتا ہے۔

اہم نکات

  • Picture-in-Picture — ملٹی ٹاسکنگ دیکھنے کے لیے دیگر ایپس کے اوپر فلوٹنگ ویڈیو ونڈو
  • iOS PiP AVPictureInPictureController اور AVPlayer کے ذریعے iOS 14 سے دستیاب
  • Android PiP supportsPictureInPicture پیرامیٹر کے ساتھ Activity میں PIP موڈ کے ذریعے Android 8.0 سے دستیاب
  • حدود: PiP ونڈو کا سائز مقررہ ہے اور یہ انٹرایکٹو UI عناصر کو سپورٹ نہیں کرتی
  • استعمال — ویڈیو کالز، سٹریمنگ، تعلیمی پلیٹ فارمز، پس منظر میں ویڈیو

Picture-in-Picture کیا ہے؟

Picture-in-Picture (PiP) ایک ویڈیو ڈسپلے موڈ ہے جو ایک چھوٹی فلوٹنگ ونڈو میں مواد دکھاتا ہے جو دیگر تمام ونڈوز اور ایپلیکیشنز کے اوپر رہتی ہے۔ صارف PiP ونڈو کو اسکرین پر گھما سکتا ہے، اس کا سائز تبدیل کر سکتا ہے (کچھ پلیٹ فارمز پر) اور دوسری ایپلیکیشنز میں کام کرتے ہوئے مواد دیکھتا رہ سکتا ہے۔

PiP کا تصور ٹیلی ویژن سے آیا ہے: 1990 کی دہائی میں ہی ٹی وی سیٹ اسکرین کے کونے میں دوسرا چینل دکھا سکتے تھے۔ موبائل آلات پر، PiP پہلی بار iPad پر iOS 9 (2015) میں Safari ویڈیو کے لیے ظاہر ہوا، جبکہ ایپس کے لیے مکمل سسٹم PiP iOS 14 (2020) میں دستیاب ہوا۔ Android پر PiP سپورٹ پہلے آئی — ورژن 8.0 Oreo (2017) میں، لیکن صرف ویڈیو کے لیے، اور Android 12 سے تمام قسم کے مواد کے لیے۔

PiP پس منظر پلے بیک سے مختلف ہے کیونکہ ویڈیو اسکرین پر دکھائی دیتی رہتی ہے، نہ کہ صرف آڈیو سٹریم میں چلتی رہتی ہے۔ پس منظر آڈیو پلے بیک دونوں پلیٹ فارمز پر دستیاب ہے، لیکن PiP صارف کو مواد پر بصری کنٹرول دیتا ہے: وہ فریم دیکھ سکتا ہے، روک سکتا ہے، ریوائنڈ کر سکتا ہے یا ونڈو بند کر سکتا ہے۔ یہ خاص طور پر ویڈیو ٹیوٹوریلز، سٹریمز اور ویڈیو کالز کے لیے اہم ہے جہاں بصری مواد آڈیو جتنا ہی اہم ہے۔

PiP کیسے کام کرتا ہے؟

معماری کے لحاظ سے، PiP ایک سسٹم ونڈو مینیجر کے ذریعے لاگو کیا جاتا ہے جو کم ڈسپلے ترجیح کے ساتھ ایک علیحدہ ونڈو بناتا ہے۔ ایپ ویڈیو آؤٹ پٹ کو ایک سسٹم سروس کے سپرد کرتی ہے جو ایپ کے پس منظر میں جانے یا چھوٹا ہونے کے بعد بھی ویڈیو رینڈر کرتی رہتی ہے۔

PiP سیشن کا لائف سائیکل

عمل اس وقت شروع ہوتا ہے جب صارف فعال ویڈیو والی ایپ کو چھوٹا کرتا ہے یا PiP بٹن دباتا ہے (iOS پر)، یا سسٹم خود بخود Activity کو PiP موڈ میں منتقل کرتا ہے (Android پر)۔ سسٹم ونڈو مینیجر ویڈیو سٹریم کو کیپچر کرتا ہے اور مقررہ تناسب کے ساتھ ایک فلوٹنگ ونڈو بناتا ہے۔ ونڈو کا سائز اصل ویڈیو کے پہلو تناسب اور پلیٹ فارم کی حدود پر منحصر ہے: iOS پر، PiP ونڈو اسکرین کی چوڑائی کا تقریباً 1/6–1/4 حصہ لیتی ہے؛ Android پر، موبائل آلات کے لیے چوڑائی میں 108 dp اور اونچائی میں 240 dp سے کم نہیں۔

جب PiP ونڈو فعال ہوتی ہے، ایپ تین حالتوں میں سے ایک میں ہو سکتی ہے: پس منظر میں (چھوٹی کی گئی)، فعال حالت میں (صارف ایپ پر واپس آیا)، یا انتظار کی حالت میں (سسٹم نے وسائل کی کمی کی وجہ سے PiP روک دیا)۔ PiP میں منتقلی کے وقت، ایپ کو غیر ضروری UI آپریشنز (اینیمیشنز، انٹرفیس رینڈرنگ) روک دینے چاہئیں اور میموری خالی کرنی چاہیے، کیونکہ ملٹی ٹاسکنگ موڈ میں سسٹم وسائل زیادہ سختی سے مختص ہوتے ہیں۔ iOS خود بخود ایپ کو AVPictureInPictureControllerWillStartNotification بھیجتا ہے، جبکہ Android onPictureInPictureModeChanged کال بیک بھیجتا ہے۔

PiP موڈ کی حدود

PiP ونڈو کی اہم حدود ہیں: یہ معیاری UI کنٹرول عناصر (روک بٹن، پیش رفت بار) دکھا نہیں سکتی — صرف کم سے کم سسٹم اوورلے جس میں بنیادی کنٹرول ہوتے ہیں: پلے/روک، بند کریں، مکمل اسکرین پر پھیلائیں۔ سسٹم PiP UI iOS پر روک اور بند کرنے کے بٹن شامل کرتا ہے، جبکہ Android پر ایک اضافی سیٹنگز بٹن کے ساتھ وہی عناصر شامل ہیں۔ PiP کے اندر مواد کے ساتھ تعامل (ریوائنڈ، سب ٹائٹل انتخاب) ممکن نہیں — اس کے لیے ایپ کو مکمل اسکرین پر پھیلانا ہوگا۔

iOS پر PiP: نفاذ اور حدود

iOS پر، PiP AVKit فریم ورک اور AVPictureInPictureController کلاس کے ذریعے لاگو کیا جاتا ہے۔ یہ API iPhone اور iPad کے لیے iOS 14+ پر دستیاب ہے، لیکن مختلف تقاضوں کے ساتھ: iPad پر، PiP AVPlayerLayer کے ذریعے کام کرتا ہے؛ iPhone پر، صرف AVPlayerViewController کے ذریعے۔

iOS پر PiP کے تقاضے

iOS پر PiP کام کرنے کے لیے کئی شرائط پوری ہونی چاہئیں: ایپ کو ویڈیو پلے بیک کے لیے AVPlayer استعمال کرنا چاہیے، آڈیو سیشن .playback یا .playAndRecord زمرے میں مقرر ہونا چاہیے، اور ایپ کے پاس پس منظر آڈیو کے لیے entitlements (UIBackgroundModes = audio) ہونا چاہیے۔ ان سیٹنگز کے بغیر، PiP شروع نہیں ہوگا — سسٹم PiP سیشن کی درخواست رد کر دے گا کیونکہ وہ پس منظر میں جانے کے بعد درست پلے بیک کی ضمانت نہیں دے سکتا۔

iOS پر، PiP ونڈو خود بخود ایپ کو چھوٹا کرنے پر ظاہر ہوتی ہے اگر ویڈیو فعال طور پر چل رہی ہو اور صارف نے ترتیبات میں اس فیچر کو غیر فعال نہ کیا ہو۔ صارف AVPlayerViewController میں بٹن کے ذریعے دستی طور پر ویڈیو کو PiP میں چھوٹا کر سکتا ہے۔ iOS پر PiP ونڈو کا سائز مقررہ ہے اور سسٹم کے ذریعے طے ہوتا ہے — ڈیولپر اسے تبدیل نہیں کر سکتا۔ PiP ونڈو کا پہلو تناسب اصل ویڈیو کے تناسب سے میل کھاتا ہے، لیکن زیادہ سے زیادہ سائز iPhone پر اسکرین چوڑائی کے 1/4 اور iPad پر 1/3 تک محدود ہے۔

iOS PiP کی حدود

iOS پر PiP کی اہم حدود: PiP ونڈو میں حسب ضرورت UI کی ناممکنیت، ایک وقت میں ایک PiP سٹریم، اور PiP کام کرنے کے لیے فعال AVPlayer کی ضرورت۔ ملٹی PiP — ایک ساتھ متعدد PiP ونڈوز کا پلے بیک — iOS پر سپورٹ نہیں ہے۔ دوسرا PiP شروع کرنے کی کوشش پر پہلا خود بخود بند ہو جاتا ہے۔ یہ ایک ہارڈویئر حد ہے: ویڈیو پروسیسر DMA اور ویڈیو میموری کی حدود کی وجہ سے ایک ساتھ دو آزاد PiP چینلز کو سروس نہیں دے سکتا۔

ایک اور اہم حد پس منظر پلے بیک کی مدت ہے۔ اگر صارف PiP ونڈو کے ساتھ تعامل نہیں کرتا، تو سسٹم توانائی بچانے کے لیے کچھ وقت بعد پلے بیک روک سکتا ہے۔ iOS پر خودکار PiP روک 10–15 منٹ کی غیرفعالیت کے بعد ہوتی ہے اگر ایپ نے پس منظر کے کام کے ذریعے keep-alive میکانزم لاگو نہ کیا ہو۔ ویڈیو کالز اور سٹریمز کے لیے، PushKit اور VoIP سرٹیفکیٹ استعمال کرنے کی سفارش کی جاتی ہے، جو اس حد کو نظرانداز کرتے ہیں۔

Android پر PiP: نفاذ اور حدود

Android پر، PiP ایک بلٹ ان Activity موڈ کے طور پر لاگو کیا جاتا ہے جو enterPictureInPictureMode طریقہ کے ذریعے فعال ہوتا ہے۔ Android 8.0 (API 26) سے، کوئی بھی Activity PiP موڈ میں داخل ہو سکتی ہے، اور Android 12 (API 31) سے MediaCodec استعمال کیے بغیر SurfaceView اور TextureView کے لیے PiP سپورٹ دستیاب ہے۔

مینی فیسٹ کنفیگریشن

Android مینی فیسٹ میں PiP سپورٹ کرنے کے لیے، سیکشن میں Activity کے لیے android:supportsPictureInPicture وصف بتانا ضروری ہے۔ اس وصف کے بغیر، سسٹم PiP میں منتقلی کی اجازت نہیں دے گا۔ مزید برآں، android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation" بتانے کی سفارش کی جاتی ہے تاکہ PiP میں منتقلی کے دوران ونڈو کا سائز تبدیل ہونے پر Activity دوبارہ نہ بنے۔ بنیادی PiP کام کرنے کے لیے بلڈ کا targetSdkVersion >= 26 (Android 8.0) ہونا چاہیے۔

Android میں، PiP ونڈو میں ڈیفالٹ طور پر کوئی کنٹرول عناصر نہیں ہوتے۔ ڈیولپر setPictureInPictureParams طریقہ میں RemoteAction کے ذریعے حسب ضرورت اقدامات شامل کر سکتا ہے۔ 3 اقدامات تک دستیاب ہیں (مثال: روک/چلائیں، پیچھے/آگے گھمائیں، بند کریں)۔ ہر اقدام سسٹم PiP اوورلے میں ایک آئیکن کے طور پر ظاہر ہوتا ہے۔ iOS کے برعکس، جہاں تمام UI عناصر سختی سے مقررہ ہیں، Android بنیادی کنٹرولز کے لیے زیادہ لچک فراہم کرتا ہے۔

مختلف ورژنز کے لیے موافقت

Android پر PiP کی OS ورژن کے لحاظ سے مختلف صلاحیتیں ہیں۔ Android 8.0–8.1 پر، PiP صرف MediaPlayer یا MediaCodec کے ساتھ SurfaceView کے ذریعے چلائی جانے والی ویڈیو کے لیے دستیاب ہے۔ Android 9 سے PictureInPictureArgs.Builder استعمال کر کے PiP ونڈو کا پہلو تناسب کنفیگر کیا جا سکتا ہے۔ Android 12 نے حسب ضرورت SurfaceView اور TextureView کے لیے PiP سپورٹ کے ساتھ ساتھ مکمل اسکرین اور PiP موڈ کے درمیان بہتر منتقلی شامل کی۔ Android 13+ لاک اسکرین پر بھی PiP ونڈو دکھانے کی اجازت دیتا ہے، اگر ایپ کے پاس مناسب اجازت ہو۔

Android ورژنPiP صلاحیتیںAPI
8.0–8.1MediaPlayer/MediaCodec کے لیے بنیادی PiP26–27
9–11پہلو تناسب کنفیگریشن، حسب ضرورت اقدامات28–30
12SurfaceView/TextureView PiP سپورٹ31
13+لاک اسکرین پر PiP، بہتر اینیمیشنز33+

Android PiP کا اہم فرق iOS سے ملٹی PiP صلاحیت ہے۔ Android 12+ پر، سسٹم ایک ساتھ متعدد PiP ونڈوز دکھا سکتا ہے اگر ایپس اسے سپورٹ کریں اور ڈیوائس کی کارکردگی اجازت دے۔ تاہم، عملی طور پر، ملٹی PiP SoC صلاحیتوں سے محدود ہے: زیادہ تر ڈیوائسز ہارڈویئر ڈیکوڈر کی حدود کی وجہ سے صرف ایک PiP ونڈو سپورٹ کرتی ہیں، کیونکہ ہر PiP ونڈو کو اپنی ویڈیو سٹریم اور علیحدہ ڈیکوڈنگ سیشن کی ضرورت ہوتی ہے۔

PiP کوڈ مثالیں

تازہ ترین API تبدیلیوں کو مدنظر رکھتے ہوئے دونوں موبائل پلیٹ فارمز پر PiP کے عملی نفاذ پر نظر ڈالتے ہیں۔

iOS پر AVPictureInPictureController کے ساتھ PiP

swift
import AVKit
import AVFoundation

class VideoPlayerViewController: UIViewController {
    var player: AVPlayer!
    var pipController: AVPictureInPictureController?
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let playerLayer = AVPlayerLayer(player: player)
        playerLayer.videoGravity = .resizeAspect
        view.layer.addSublayer(playerLayer)
        
        guard AVPictureInPictureController.isPictureInPictureSupported()
        else { return }
        
        pipController = AVPictureInPictureController(playerLayer: playerLayer)
        pipController?.delegate = self
    }
    
    @IBAction func startPiPTapped() {
        pipController?.startPictureInPicture()
    }
}

extension VideoPlayerViewController: AVPictureInPictureControllerDelegate {
    func pictureInPictureControllerWillStart(
        _ pictureInPictureController: AVPictureInPictureController
    ) {
        // UI عناصر چھپائیں، میموری خالی کریں
    }
    
    func pictureInPictureControllerDidStop(
        _ pictureInPictureController: AVPictureInPictureController
    ) {
        // UI بحال کریں، رینڈرنگ دوبارہ شروع کریں
    }
}

اس مثال میں، AVPictureInPictureController کو isPictureInPictureSupported کی جانچ کے بعد playerLayer کے ساتھ شروع کیا جاتا ہے (PiP iPhone SE پہلی نسل اور کافی میموری کے بغیر کچھ iPad پر سپورٹ نہیں ہے)۔ ڈیلیگیٹ ایپ کو PiP شروع اور ختم ہونے کے بارے میں مطلع کرتا ہے — ان کال بیکس میں UI عناصر کو چھپانا اور بحال کرنا چاہیے، کیونکہ PiP موڈ میں ایپ کا انٹرفیس نظر نہیں آتا۔ PiP میں منتقلی کے وقت، تمام اینیمیشنز روکنے، پلیئر کنٹرولز چھپانے اور غیر استعمال شدہ میموری خالی کرنے کی سفارش کی جاتی ہے تاکہ سسٹم کے ذریعے ایپ کو جبری ان لوڈ ہونے سے روکا جا سکے۔

Android پر PictureInPictureParams کے ساتھ PiP

kotlin
class PipVideoActivity : AppCompatActivity() {
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setupVideoPlayer()
    }
    
    private fun enterPipMode() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            val aspectRatio = Rational(16, 9)
            
            val pipParams = PictureInPictureParams.Builder()
                .setAspectRatio(aspectRatio)
                .setAutoEnterEnabled(true)
                .build()
            
            enterPictureInPictureMode(pipParams)
        }
    }
    
    override fun onPictureInPictureModeChanged(
        isInPictureInPictureMode: Boolean,
        newConfig: Configuration
    ) {
        if (isInPictureInPictureMode) {
            // UI چھپائیں، صرف میڈیا پر توجہ دیں
            binding.controlsGroup.visibility = View.GONE
        } else {
            // UI بحال کریں
            binding.controlsGroup.visibility = View.VISIBLE
        }
    }
}

Kotlin میں مثال PiP کنفیگر کرنے کے لیے PictureInPictureParams.Builder استعمال کرتی ہے۔ setAspectRatio طریقہ PiP ونڈو کا پہلو تناسب سیٹ کرتا ہے (عام ویڈیو کے لیے 16:9)۔ setAutoEnterEnabled(true) ایپ کو چھوٹا کرنے پر خودکار PiP منتقلی فعال کرتا ہے۔ onPictureInPictureModeChanged کال بیک PiP میں داخل ہونے اور چھوڑنے پر بلایا جاتا ہے — اس میں UI عناصر کو چھپانا یا دکھانا چاہیے۔ SurfaceView پر ویڈیو کے لیے، PiP موڈ میں منتقلی کے دوران Activity کی دوبارہ تخلیق کو روکنے کے لیے مینی فیسٹ میں android:configChanges="screenSize|smallestScreenSize" شامل کر کے اضافی کنفیگریشن ہینڈلنگ کی ضرورت ہے۔

Picture-in-Picture کب استعمال کریں

PiP ان ایپس میں صارف کے تجربے کو بہتر بنانے کے لیے ایک طاقتور ٹول ہے جہاں مواد دوسرے کاموں پر سوئچ کرنے پر بھی متعلقہ رہتا ہے۔ تاہم، PiP کا نفاذ معقول ہونا چاہیے اور صارف کو مشغول نہیں کرنا چاہیے۔

بہترین منظرنامے

ویڈیو کالز اور کانفرنسز PiP کے اہم منظرناموں میں سے ہیں۔ Zoom، FaceTime، Google Meet میں، PiP صارف کو دوسری ایپس میں کام کرتے ہوئے گفتگو کرنے والے کو دیکھنے کی اجازت دیتا ہے: نوٹ پڑھنا، پیشکش دیکھنا یا ای میل چیک کرنا۔ ویڈیو کالز کے لیے PiP میں پس منظر میں کیمرہ سپورٹ اور پس منظر میں آڈیو کیپچر جاری رکھنے کے لیے آڈیو سیشن کی صحیح کنفیگریشن ضروری ہے۔ iOS پر، یہ AVPlayerLayer کے بجائے AVSampleBufferDisplayLayer استعمال کر کے کیا جاتا ہے، کیونکہ ویڈیو کالز AVPlayer استعمال نہیں کرتیں۔

سٹریمنگ سروسز (YouTube، Netflix، Twitch) نیا مواد ڈھونڈتے ہوئے مسلسل دیکھنے کے لیے PiP کو فعال طور پر استعمال کرتی ہیں۔ YouTube Premium PiP کو ادا شدہ فیچر کے طور پر پیش کرتا ہے، Netflix بھی مواد کے لائسنس کی پابندیوں کی وجہ سے PiP کو مخصوص سبسکرپشن پلانز تک محدود کرتا ہے۔ سٹریمنگ ایپ میں PiP لاگو کرنے کے لیے DRM سسٹم (FairPlay، Widevine) کے ساتھ انضمام ضروری ہے جو PiP موڈ میں محفوظ پائپ لائن کو سپورٹ کرتا ہے۔

PiP کب ضروری نہیں

PiP انٹرایکٹو ویڈیو مواد والی ایپس کے لیے موزوں نہیں جہاں صارف کے تعامل کی ضرورت ہو: پلیئر کے اندر ٹیسٹ والے تعلیمی پلیٹ فارم، چیٹ والے گیم سٹریمز، ویڈیو میں پروڈکٹ لنکس والی شاپنگ ایپس۔ ان صورتوں میں، PiP ونڈو اضافی معلومات دکھانے کے لیے بہت چھوٹی ہے، اور انٹرایکٹو عناصر PiP کے اندر سپورٹ نہیں ہوتے۔ سفارش کی جاتی ہے کہ PiP صرف غیر فعال دیکھنے کے لیے استعمال کریں جب مواد کے ساتھ تعامل کی ضرورت نہ ہو۔

موسیقی اور پوڈکاسٹ ایپس کے لیے، PiP ضرورت سے زیادہ ہے — بصری ونڈو کے بغیر پس منظر آڈیو کافی ہے۔ PiP فلوٹنگ ونڈو میں ویڈیو رینڈر کرنے کے لیے اضافی GPU وسائل استعمال کرتا ہے، جس سے بیٹری کی زندگی کم ہوتی ہے۔ اگر مواد آڈیو پر مبنی ہے (موسیقی، پوڈکاسٹ، آڈیو بکس) — PiP کے بغیر پس منظر پلے بیک استعمال کریں۔ اگر بصری ہے — صارف کے تجربے کو بہتر بنانے کے لیے PiP لاگو کریں۔

اکثر پوچھے گئے سوالات

میرے iPhone پر PiP کیوں کام نہیں کرتا؟

iOS پر PiP کے لیے iPhone 6s+، iOS 14+ اور معاون علاقہ (USA، کینیڈا، آسٹریلیا، EU، روس اور دیگر) ضروری ہے۔ ایپ کو آڈیو سیشن کو .playback زمرے میں کنفیگر کرنا اور UIBackgroundModes = audio شامل کرنا ہوگا۔ ترتیبات بھی چیک کریں: ترتیبات > جنرل > پکچر ان پکچر۔

کیا PiP ونڈو کا سائز حسب ضرورت بنایا جا سکتا ہے؟

iOS پر، PiP ونڈو کا سائز مکمل طور پر سسٹم کے ذریعے طے ہوتا ہے اور ڈیولپر کے ذریعے کنفیگر نہیں کیا جا سکتا۔ Android پر، PictureInPictureParams.Builder میں setAspectRatio کے ذریعے صرف پہلو تناسب سیٹ کیا جا سکتا ہے، لیکن ونڈو کا صحیح سائز سسٹم طے کرتا ہے۔ صارف Android 12+ پر پنچ ٹو زوم جیسچر سے PiP ونڈو کا سائز تبدیل کر سکتا ہے۔

کیا PiP DRM مواد کے ساتھ کام کرتا ہے؟

ہاں، PiP DRM سے محفوظ مواد (iOS پر FairPlay، Android پر Widevine L1) کے ساتھ کام کرتا ہے بشرطیکہ DRM سیشن PiP موڈ میں محفوظ پائپ لائن کو سپورٹ کرتا ہو۔ Widevine L3 PiP کو سپورٹ نہیں کر سکتا، کیونکہ یہ فلوٹنگ ونڈو میں ڈی کوڈ شدہ مواد کی حفاظت کی ضمانت نہیں دیتا۔ جانچ کے مرحلے کے دوران DRM کی PiP کے ساتھ مطابقت چیک کریں۔

ایک ساتھ کتنی PiP ونڈوز کھولی جا سکتی ہیں؟

iOS پر — صرف ایک PiP ونڈو۔ Android 12+ پر، نظریاتی طور پر ملٹی PiP سپورٹ ہے، لیکن عملی طور پر زیادہ تر ڈیوائسز ہارڈویئر حدود کی وجہ سے ایک ونڈو تک محدود ہیں۔ اعلیٰ ڈیوائسز (Samsung Galaxy S24، Pixel 8) 2 PiP ونڈوز کو سپورٹ کر سکتی ہیں، لیکن کم کارکردگی کے ساتھ۔

کیا PiP کے دوران لائف سائیکل کو ہینڈل کرنا ضروری ہے؟

ہاں، لائف سائیکل ہینڈلنگ انتہائی اہم ہے۔ iOS پر، PiP میں منتقلی کے وقت، ایپ کو willStart اطلاع ملتی ہے جہاں UI چھپانا اور میموری خالی کرنی چاہیے۔ Android پر، PiP میں داخل/خارج ہونے پر onPictureInPictureModeChanged بلایا جاتا ہے۔ صحیح لائف سائیکل ہینڈلنگ کے بغیر، سسٹم ایپ کو میموری سے ان لوڈ کر سکتا ہے، پلے بیک میں خلل ڈال کر۔

خلاصہ

  • Picture-in-Picture — ملٹی ٹاسکنگ موڈ میں دیگر ایپس کے اوپر ویڈیو دیکھنے کے لیے فلوٹنگ ونڈو
  • iOS پر PiP AVPlayerLayer اور آڈیو سیشن .playback کے ساتھ AVPictureInPictureController کے ذریعے لاگو کیا جاتا ہے
  • Android پر PiP PictureInPictureParams.Builder کے ساتھ enterPictureInPictureMode کے ذریعے لاگو کیا جاتا ہے
  • حدود: ایک PiP سٹریم، مقررہ ونڈو سائز، PiP کے اندر کوئی حسب ضرورت UI نہیں
  • لائف سائیکل PiP میں UI عناصر چھپانے اور ان لوڈنگ روکنے کے لیے میموری خالی کرنے کی ضرورت ہے
  • اہم استعمال — ویڈیو کالز، سٹریمنگ، تعلیمی ویڈیوز، نیویگیشن کے دوران مواد دیکھنا
  • PiP استعمال نہ کریں آڈیو مواد کے لیے (پس منظر آڈیو کافی ہے) یا UI عناصر والی انٹرایکٹو ویڈیوز کے لیے

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں