ไลบรารี Jetpack สำหรับการแสดงภาพซ้อนภาพ (PIP) มีโซลูชันที่มีประสิทธิภาพและ แข็งแกร่งสำหรับนักพัฒนาแอป Android ในการใช้ฟังก์ชัน PIP โดยเฉพาะอย่างยิ่งสำหรับการเล่นสื่อ การสื่อสารผ่านวิดีโอ และแอปนำทาง ไลบรารีนี้มี API แบบรวม ซึ่งช่วยลดโค้ดมาตรฐาน ข้อบกพร่องทั่วไปในแอป และปรับปรุงคุณภาพโดยรวมของประสบการณ์การใช้งาน PiP
ไลบรารี PiP Jetpack ช่วยอำนวยความสะดวกให้แก่ PiP API ที่มีอยู่โดยการแก้ไขความท้าทายและความไม่สอดคล้องกันที่สำคัญหลายประการในระบบนิเวศของ Android ดังนี้
- การกระจายตัวของระบบปฏิบัติการ: ไลบรารีจะจัดการความแตกต่างในการเรียกใช้ PIP API
ใน Android เวอร์ชันต่างๆ โดยอัตโนมัติ เช่น การใช้
enterPictureInPictureModeก่อน Android 12 และisAutoEnterEnabledหลังจากนั้น เพื่อให้นักพัฒนาแอปไม่ต้องจัดการความแตกต่างของเวอร์ชัน - พารามิเตอร์ PIP ไม่ถูกต้อง: มีโซลูชันแบบรวมสำหรับการตั้งค่าพารามิเตอร์ PIP อย่างถูกต้อง เช่น
setSourceRectHintเพื่อสร้างภาพเคลื่อนไหวที่ราบรื่นและมีคุณภาพสูงในระหว่างการเล่นสื่อ - การเรียกกลับสถานะ PiP แบบรวม: รวม
onPictureInPictureModeChangedและonPictureInPictureUiStateChangedไว้ใน อินเทอร์เฟซการเรียกกลับแบบรวมรายการเดียว (PictureInPictureDelegate.OnPictureInPictureEventListener) เพื่อให้การจัดการสถานะและ UI ง่ายขึ้น - การลดโค้ด Boilerplate: ไลบรารีจะลดปริมาณโค้ด Boilerplate ที่ซ้ำกัน โดยการเสนอชุด
RemoteActionsที่กำหนดไว้ล่วงหน้าสำหรับการใช้งานทั่วไป เช่น ตัวควบคุมการเล่นและการดำเนินการในการวิดีโอคอล - การเตรียมพร้อมสำหรับอนาคต: ฟีเจอร์ PiP เพิ่มเติมจะให้บริการผ่านไลบรารี Jetpack ซึ่งช่วยให้ผู้ใช้เข้าถึงฟังก์ชันการทำงานเพิ่มเติมได้โดยใช้ความพยายามเพียงเล็กน้อยหรือแทบไม่ต้องทำอะไรเลย
ใช้ Jetpack
หากต้องการใช้ Jetpack Library ให้แทนที่การติดตั้งใช้งาน PiP ที่กำหนดเองที่มีอยู่ด้วย API ของ Jetpack Library ความซับซ้อนและต้นทุนในการ นำไปใช้จะแตกต่างกันไปตามการติดตั้งใช้งานปัจจุบันของแอป
ส่วนต่อไปนี้จะอธิบายกรณีการใช้งานทั่วไปบางส่วนของ PIP และ ขั้นตอนการติดตั้งใช้งานที่จำเป็น
การนำทาง
แอปจะแจ้งสถานะการนำทางที่ใช้งานอยู่หรือไม่ใช้งานให้ไลบรารีทราบและ ตั้งค่าสัดส่วนภาพ ส่วนที่เหลือไลบรารี Jetpack จะจัดการให้เอง
ความแตกต่างที่สำคัญ
- ไม่จำเป็นต้องแยกความแตกต่างระหว่างการป้อนอัตโนมัติกับการป้อนแบบเดิมในฝั่งแอป
- อินเทอร์เฟซการเรียกกลับที่รวมไว้
PictureInPictureParamsบิลเดอร์ใหม่เพื่อให้เข้ากันได้แบบย้อนหลัง
วิดีโอคอล
แอปจะแจ้งสถานะการโทรว่าใช้งานอยู่หรือไม่ให้ไลบรารีทราบ และตั้งค่า สัดส่วนภาพ
ความแตกต่างที่สำคัญ
- ไม่จำเป็นต้องแยกความแตกต่างระหว่างการป้อนอัตโนมัติกับการป้อนแบบเดิมในฝั่งแอป
- อินเทอร์เฟซการเรียกกลับที่รวมไว้
PictureInPictureParamsบิลเดอร์ใหม่เพื่อให้เข้ากันได้แบบย้อนหลัง- ไอคอนการดำเนินการที่เป็นมาตรฐานสำหรับวิดีโอคอล
การเล่นวิดีโอ
ไลบรารี Jetpack มีตัวแทนเพลเยอร์ที่คุณสามารถผสานรวมเพื่อจัดการ
การเปิดใช้หรือปิดใช้ PIP และตั้งค่าคำแนะนำสี่เหลี่ยมผืนผ้าต้นทางได้อย่างถูกต้อง
นอกจากนี้ คุณยังเลือกใช้ชุดRemoteActionออบเจ็กต์ที่กำหนดไว้ล่วงหน้าได้ด้วย ซึ่งคล้ายกับ
ออบเจ็กต์ที่ใช้ในสถานการณ์วิดีโอคอล
ฟีเจอร์หลัก
- จัดการความเข้ากันได้แบบย้อนหลัง ไม่จำเป็นต้องตรวจสอบเวอร์ชันระบบปฏิบัติการ
- การซิงค์สถานะการเล่นและการควบคุมการป้อนอัตโนมัติ
- การติดตามเรขาคณิตอย่างต่อเนื่องโดยใช้
SourceRectHint