পিকচার-ইন-পিকচার (পিআইপি) জেটপ্যাক লাইব্রেরি অ্যান্ড্রয়েড অ্যাপ ডেভেলপারদের জন্য পিআইপি কার্যকারিতা বাস্তবায়নের জন্য একটি সুবিন্যস্ত এবং শক্তিশালী সমাধান প্রদান করে, বিশেষ করে মিডিয়া প্লেব্যাক, ভিডিও যোগাযোগ এবং নেভিগেশন অ্যাপের জন্য। একটি ইউনিফাইড এপিআই প্রদানের মাধ্যমে, লাইব্রেরি বয়লারপ্লেট কোড, সাধারণ ইন-অ্যাপ বাগ দূর করতে এবং পিআইপি ব্যবহারকারীর অভিজ্ঞতার সামগ্রিক মান উন্নত করতে সহায়তা করে।
পিআইপি জেটপ্যাক লাইব্রেরি অ্যান্ড্রয়েড ইকোসিস্টেম জুড়ে বেশ কয়েকটি মূল চ্যালেঞ্জ এবং অসঙ্গতি মোকাবেলা করে বিদ্যমান পিআইপি এপিআইগুলিকে সহজতর করে:
- OS ফ্র্যাগমেন্টেশন : লাইব্রেরিটি বিভিন্ন Android সংস্করণে PiP API কলের পার্থক্যগুলি স্বয়ংক্রিয়ভাবে পরিচালনা করে, যেমন Android 12 এর আগে
enterPictureInPictureModeব্যবহার করা এবং পরেisAutoEnterEnabledব্যবহার করা, তাই ডেভেলপারদের সংস্করণের পার্থক্যগুলি পরিচালনা করার প্রয়োজন হয় না। - ভুল PiP প্যারামিটার : এটি মিডিয়া প্লেব্যাকের সময় মসৃণ এবং উচ্চ-মানের অ্যানিমেশন তৈরি করতে PiP প্যারামিটারগুলি সঠিকভাবে সেট করার জন্য একটি সমন্বিত সমাধান প্রদান করে, উদাহরণস্বরূপ
setSourceRectHint। - ইউনিফাইড পিআইপি স্টেট কলব্যাক : এটি সরলীকৃত স্টেট এবং ইউআই পরিচালনার জন্য
onPictureInPictureModeChangedএবংonPictureInPictureUiStateChangedকে একটি একক, ইউনিফাইড কলব্যাক ইন্টারফেসে (PictureInPictureDelegate.OnPictureInPictureEventListener) একত্রিত করে। - বয়লারপ্লেট কোড হ্রাস : লাইব্রেরিটি প্লেব্যাক নিয়ন্ত্রণ এবং ভিডিও কল অ্যাকশনের মতো সাধারণ ব্যবহারের ক্ষেত্রে
RemoteActionsপূর্বনির্ধারিত সেট অফার করে পুনরাবৃত্তিমূলক, বয়লারপ্লেট কোডের পরিমাণ হ্রাস করে। - ভবিষ্যৎ-প্রমাণ : জেটপ্যাক লাইব্রেরির মাধ্যমে আরও PiP বৈশিষ্ট্য সরবরাহ করা হয়, যা গ্রহণকারীদের ন্যূনতম বা কোনও প্রচেষ্টা ছাড়াই অতিরিক্ত কার্যকারিতা অ্যাক্সেস করার অনুমতি দেয়।
জেটপ্যাক গ্রহণ করুন
জেটপ্যাক লাইব্রেরি গ্রহণ করার জন্য, আপনার বিদ্যমান কাস্টম পিআইপি বাস্তবায়নকে জেটপ্যাক লাইব্রেরি এপিআই দিয়ে প্রতিস্থাপন করুন। অ্যাপটির বর্তমান বাস্তবায়নের উপর নির্ভর করে গ্রহণের জটিলতা এবং খরচ পরিবর্তিত হবে।
নিম্নলিখিত বিভাগগুলিতে PiP-এর কিছু সাধারণ ব্যবহারের উদাহরণ এবং প্রয়োজনীয় বাস্তবায়ন পদক্ষেপগুলি বর্ণনা করা হয়েছে:
ন্যাভিগেশন
অ্যাপটি লাইব্রেরিকে নেভিগেশনের সক্রিয় বা নিষ্ক্রিয় অবস্থা সম্পর্কে অবহিত করে এবং আকৃতির অনুপাত নির্ধারণ করে। বাকিটা জেটপ্যাক লাইব্রেরি পরিচালনা করে।
মূল পার্থক্য:
- অ্যাপের দিক থেকে অটো-এন্টার এবং লিগ্যাসি-এন্টার আলাদা করার দরকার নেই।
- একত্রিত কলব্যাক ইন্টারফেস।
- ব্যাক সামঞ্জস্যের জন্য নতুন
PictureInPictureParamsনির্মাতা।
ভিডিও কল
অ্যাপটি লাইব্রেরিকে কলের সক্রিয় বা নিষ্ক্রিয় অবস্থা সম্পর্কে অবহিত করে এবং আকৃতির অনুপাত নির্ধারণ করে।
মূল পার্থক্য:
- অ্যাপের দিক থেকে অটো-এন্টার এবং লিগ্যাসি-এন্টার আলাদা করার দরকার নেই।
- একত্রিত কলব্যাক ইন্টারফেস।
- ব্যাক সামঞ্জস্যের জন্য নতুন
PictureInPictureParamsনির্মাতা। - ভিডিও কলের জন্য স্ট্যান্ডার্ডাইজড অ্যাকশন আইকন।
ভিডিও প্লেব্যাক
জেটপ্যাক লাইব্রেরি প্লেয়ার ডেলিগেট অফার করে যা আপনি PiP সক্ষমতা বা অক্ষমতা পরিচালনা করতে এবং সোর্স আয়তক্ষেত্রের ইঙ্গিত সঠিকভাবে সেট করতে ইন্টিগ্রেট করতে পারেন। আপনি ভিডিও কল পরিস্থিতিতে ব্যবহৃত RemoteAction অবজেক্টের একটি পূর্বনির্ধারিত সেটও বেছে নিতে পারেন।
মূল বৈশিষ্ট্য:
- সামঞ্জস্যতা বজায় রাখে, কোনও OS সংস্করণ পরীক্ষা করার প্রয়োজন নেই।
- প্লেব্যাক স্টেট সিঙ্ক্রোনাইজেশন এবং অটো-এন্ট্রি নিয়ন্ত্রণ।
-
SourceRectHintব্যবহার করে ক্রমাগত জ্যামিতি ট্র্যাকিং।