
পিকচার-ইন-পিকচার (PiP) হলো এক ধরনের মাল্টি-উইন্ডো মোড, যা পূর্ণ-পর্দায় ভিডিও চালানোর কাজের জন্য ব্যবহৃত হয়। এটি ব্যবহারকারীকে স্ক্রিনের এক কোণে স্থির একটি ছোট উইন্ডোতে ভিডিও দেখার সুযোগ দেয়, এবং একই সাথে তিনি মূল স্ক্রিনে বিভিন্ন অ্যাপ বা কন্টেন্ট ব্রাউজ করতে পারেন।

মূল বিষয়গুলো
- অ্যাক্টিভিটি PiP মোডে থাকাকালীন UI এলিমেন্টগুলো লুকানো আছে এবং ভিডিও প্লেব্যাক চলতে থাকে, তা নিশ্চিত করুন।
- ভিডিও নয় এমন কন্টেন্টের জন্য নির্বিঘ্ন আকার পরিবর্তন নিষ্ক্রিয় করুন।
- ন্যূনতম ইউজার ইন্টারফেস সহ ভিডিও প্লেব্যাক কার্যক্রম সর্বোত্তম ব্যবহারকারী অভিজ্ঞতা প্রদান করে।
- ভিডিও কন্টেন্ট ছাড়া অন্য কিছু দেখানো থেকে বিরত থাকুন।
আপনার অ্যাপে পিকচার-ইন-পিকচার সাপোর্ট যোগ করুন
ডিফল্টরূপে, সিস্টেমটি অ্যাপগুলির জন্য স্বয়ংক্রিয়ভাবে PiP সমর্থন করে না এবং এই বৈশিষ্ট্যটি সমর্থন করার জন্য এটিকে ঘোষণা করতে হয়।
PiP উইন্ডোটি স্ক্রিনের একেবারে উপরের স্তরে, সিস্টেম দ্বারা নির্বাচিত একটি কোণায় প্রদর্শিত হয়।
নিয়ন্ত্রণ
ডিফল্টরূপে, অ্যান্ড্রয়েড উইন্ডো বন্ধ করা, এটিকে আবার ফুলস্ক্রিনে ফিরিয়ে আনা, সেটিংস এবং মিডিয়া প্লেব্যাকের জন্য পিআইপি (PIP) কন্ট্রোল প্রদান করে। ব্যবহারকারীদের পিআইপি কন্টেন্টের সাথে ইন্টারঅ্যাক্ট করার সুযোগ দিতে আপনার অ্যাপ কাস্টম অ্যাকশন এবং উপযুক্ত আইকন অ্যাসেট যোগ করতে পারে।
ব্যবহারকারী মোবাইল ডিভাইসে উইন্ডোটিতে ট্যাপ করে অথবা টিভি রিমোট থেকে মেনুটি নির্বাচন করে PiP উইন্ডো মেনু থেকে এই কন্ট্রোলগুলো প্রদর্শন করতে পারেন। যদি কোনো অ্যাপের একটি সক্রিয় মিডিয়া সেশন থাকে, তাহলে প্লে, পজ, নেক্সট এবং প্রিভিয়াসের কন্ট্রোলগুলোও প্রদর্শিত হয়। এই কন্ট্রোলগুলো কীভাবে যোগ করতে হয়, সে সম্পর্কে পড়ুন।
PiP মোডে, আপনার অ্যাক্টিভিটি একটি ছোট উইন্ডোতে প্রদর্শিত হয়। এই মোডে ব্যবহারকারীরা আপনার অ্যাপের অন্যান্য UI এলিমেন্টগুলোর সাথে ইন্টারঅ্যাক্ট করতে পারেন না এবং PiP উইন্ডোর ভেতরের ছোট UI এলিমেন্টগুলোর বিস্তারিত দেখতে অসুবিধা হতে পারে।

ডিফল্ট PiP নিয়ন্ত্রণসমূহ।

কাস্টম পিআইপি কন্ট্রোলের উদাহরণ।
ব্যবহার
ব্যবহারকারীদের শুধু আপনার অ্যাপের মধ্যেই নয়, বরং তাদের ডিভাইস জুড়েও ভিডিও দেখা চালিয়ে যাওয়ার সুযোগ দিন। বর্তমান অ্যাক্টিভিটি কখন PiP মোডে প্রবেশ করবে, তা আপনার অ্যাপই নিয়ন্ত্রণ করে—এটি বর্তমান ভিউ থেকে বেরিয়ে যাওয়া বা হোমে ফিরে যাওয়ার জন্য উপরে সোয়াইপ করার মতো কোনো ইন্টারঅ্যাকশন হতে পারে।
এখানে সম্ভাব্য কিছু পদক্ষেপের উদাহরণ দেওয়া হলো:
ব্যবহারকারী যখন হোম বোতামে ট্যাপ করেন বা হোমে যাওয়ার জন্য উপরে সোয়াইপ করেন, তখন কোনো অ্যাক্টিভিটি PiP মোডে প্রবেশ করতে পারে। এভাবেই ব্যবহারকারী একই সময়ে অন্য কোনো অ্যাক্টিভিটি চালালেও গুগল ম্যাপস দিকনির্দেশনা দেখানো অব্যাহত রাখে।

চিত্র ৪: পথ খোঁজার অভিজ্ঞতা অব্যাহত রাখতে পিআইপি-এর ব্যবহার ব্যবহারকারী যখন ভিডিও থেকে অন্য কন্টেন্ট ব্রাউজ করার জন্য ফিরে যান, তখন আপনার অ্যাপ ভিডিওটিকে PiP মোডে নিয়ে যেতে পারে।
কোনো ব্যবহারকারী যখন কোনো কন্টেন্টের পর্বের শেষ অংশ দেখছেন, তখন আপনার অ্যাপ ভিডিওটিকে PiP মোডে পরিবর্তন করতে পারে। মূল স্ক্রিনে সিরিজটির পরবর্তী পর্ব সম্পর্কে প্রচারমূলক বা সারসংক্ষেপ তথ্য প্রদর্শিত হয়।
আপনার অ্যাপ ব্যবহারকারীদের ভিডিও দেখার সময় অতিরিক্ত কন্টেন্ট যুক্ত করার একটি উপায় দিতে পারে। মূল স্ক্রিনে কন্টেন্ট নির্বাচনের প্রক্রিয়াটি প্রদর্শিত হওয়ার সময় ভিডিওটি PiP মোডে চলতে থাকে।
এমন একটি ইন্টারঅ্যাকশন প্যাটার্ন ব্যবহার করুন যা দেখার অভিজ্ঞতাকে ব্যাহত না করে তার পরিপূরক হয়। উদাহরণস্বরূপ, যদি কোনো ভিডিও কোনো কন্টেন্টের পর্বের শেষে থাকে, তাহলে হোম স্ক্রিন থেকে বের হওয়ার সময় PiP-তে প্রবেশ করলে ফিরে এসে প্লেব্যাক বন্ধ করতে বা ছোট কন্ট্রোলগুলো ব্যবহার করতে ব্যবহারকারীকে অতিরিক্ত পদক্ষেপ নিতে হবে।
আপনার অ্যাপে, মূল স্ক্রিনে কন্টেন্ট ব্রাউজ করার সময় কোনো ব্যবহারকারী একটি নতুন ভিডিও নির্বাচন করতে পারেন, যখন একটি ভিডিও প্লেব্যাক অ্যাক্টিভিটি PiP মোডে থাকে। ব্যবহারকারীকে বিভ্রান্ত করতে পারে এমন একটি নতুন অ্যাক্টিভিটি চালু করার পরিবর্তে, বিদ্যমান প্লেব্যাক অ্যাক্টিভিটিতেই নতুন ভিডিওটি ফুল স্ক্রিন মোডে প্লে করুন।
মিথস্ক্রিয়া ধরণ
ব্যবহারকারীরা PiP উইন্ডোটিকে টেনে অন্য স্থানে নিয়ে যেতে পারেন।
ফুল-স্ক্রিন টগল, ক্লোজ বাটন, সেটিংস বাটন এবং আপনার অ্যাপের দেওয়া কাস্টম অ্যাকশন (যেমন, প্লে কন্ট্রোল) প্রদর্শন করতে উইন্ডোটিতে একবার ট্যাপ করুন ।

বর্তমান PiP সাইজ এবং সর্বোচ্চ বা সর্বনিম্ন PiP সাইজের মধ্যে টগল করতে উইন্ডোটিতে ডাবল-ট্যাপ করুন —উদাহরণস্বরূপ, একটি ম্যাক্সিমাইজড উইন্ডোতে ডাবল-ট্যাপ করলে তা মিনিমাইজ হয় এবং এর বিপরীতটিও সত্য।

উইন্ডোটিকে বাম বা ডান প্রান্তে টেনে নিয়ে স্ট্যাশ করুন । উইন্ডোটিকে আনস্ট্যাশ করতে, স্ট্যাশ করা উইন্ডোটির দৃশ্যমান অংশে ট্যাপ করুন অথবা এটিকে বাইরে টেনে আনুন।

পিঞ্চ-টু-জুম ব্যবহার করে PiP উইন্ডোর আকার পরিবর্তন করুন ।
উইন্ডোটি সরাতে PiP-টি নিচের দিকে সোয়াইপ করুন ।

রূপান্তর
PiP মোডে প্রবেশ ও প্রস্থানের সময় ব্যবহারকারীর অভিজ্ঞতা মসৃণ করতে, প্রবেশ এবং প্রস্থানের ট্রানজিশনগুলো কাস্টমাইজ করুন।
PiP অ্যানিমেশনে মসৃণ প্রবেশ
ব্যবহারকারী PiP মোড চালু করলে বর্তমান অ্যাক্টিভিটিটি ফুলস্ক্রিন থেকে সংকুচিত হয়ে একটি ছোট উইন্ডোতে পরিণত হয়, যা কোনো UI ওভারলে না করেই কন্টেন্ট প্রদর্শন করতে থাকে।
অ্যান্ড্রয়েড ১২ ফুলস্ক্রিন এবং পিআইপি উইন্ডোর মধ্যে ট্রানজিশনে কিছু বাহ্যিক উন্নতি এনেছে। একবার প্রয়োগ করা হলে, এই আপডেটগুলো ট্যাবলেট এবং ফোল্ডেবল ডিভাইসে স্বয়ংক্রিয়ভাবে মানিয়ে যায়।
এই আপডেটগুলো ছাড়া ট্রানজিশনগুলো কার্যকরী হলেও ততটা মসৃণ হয় না। উদাহরণস্বরূপ, ট্রানজিশনের সময় PiP উইন্ডোটি সাময়িকভাবে অদৃশ্য হয়ে যেতে পারে।
অ্যান্ড্রয়েড ১২ থেকে, PictureInPictureParams.Builder.setAutoEnterEnabled(true) ফ্ল্যাগটি জেসচার ট্রানজিশনকে (যেমন হোমে যাওয়ার জন্য উপরে সোয়াইপ করা) আরও মসৃণ করে তোলে। আমরা এটি ENTERTAINMENT , COMMUNICATION , বা VIDEO_PLAYER অ্যাপের জন্য সুপারিশ করি।
এই ফ্ল্যাগটি ছাড়া, জেসচার ট্রানজিশনের সময় উইন্ডোটি সংকুচিত হয়ে অ্যাপ আইকনে পরিণত হয় এবং এরপর PiP উইন্ডো হিসেবে পুনরায় প্রদর্শিত হয় (যেমনটি ভিডিও ১-এ দেখানো হয়েছে)।
PiP-তে setAutoEnterEnabled সঠিকভাবে প্রয়োগ করা না থাকলে ট্রানজিশনের অভিজ্ঞতা ততটা মসৃণ হয় না।
অ্যাপটিতে setAutoEnterEnabled যুক্ত করার ফলে ট্রানজিশন অভিজ্ঞতা আরও উন্নত হয়েছে।
মসৃণ ভিডিও ভিজ্যুয়াল
যখন আমরা অ্যান্ড্রয়েড ৮.০-তে PiP চালু করেছিলাম, তখন sourceRectHint অ্যাক্টিভিটির সেই অংশটি নির্দেশ করত যা PiP মোডে যাওয়ার পর দৃশ্যমান হয়—উদাহরণস্বরূপ, একটি ভিডিও প্লেয়ারের ভিডিও ভিউ বাউন্ডস। অ্যান্ড্রয়েড ১২ থেকে শুরু করে, অপারেটিং সিস্টেম PiP মোডে প্রবেশ এবং প্রস্থান উভয় সময়েই আরও মসৃণ একটি অ্যানিমেশন বাস্তবায়নের জন্য sourceRectHint ব্যবহার করে।
আপনার অ্যাপ যদি একটি সঠিক sourceRectHint প্রদান না করে, তাহলে PiP ট্রানজিশনগুলো কাজ করলেও অ্যানিমেশনগুলো ততটা নিখুঁত হয় না। উদাহরণস্বরূপ, ভিডিও ৩-এ ফুলস্ক্রিন থেকে PiP মোডে ট্রানজিশনের একটি কম নিখুঁত উদাহরণ দেখানো হয়েছে: ফুলস্ক্রিন উইন্ডোটি PiP উইন্ডোতে সংকুচিত হওয়ার পর, ভিডিওটি পুনরায় দেখানোর আগে এটি একটি কালো ওভারলে দ্বারা আবৃত হয়ে যায়।
sourceRectHint সঠিকভাবে প্রয়োগ করা না থাকলে ট্রানজিশনের অভিজ্ঞতা ততটা মসৃণ হয় না sourceRectHint সঠিকভাবে প্রয়োগ করা হলে PiP অ্যানিমেশন কেমন দেখায় তার একটি উদাহরণ দেখতে, পূর্ববর্তী বিভাগের ভিডিও ২ দেখুন।
একটি পরিমার্জিত ট্রানজিশন অভিজ্ঞতা সক্ষম করার জন্য রেফারেন্স হিসেবে অ্যান্ড্রয়েড কোটলিন PictureInPicture স্যাম্পলটি দেখুন।
PiP বাস্তবায়ন সম্পর্কে আরও জানতে, পিকচার-ইন-পিকচার ডেভেলপার ডকুমেন্টেশন দেখুন।