เฟรมเวิร์กของ Cast มี API การจัดคิวที่รองรับการสร้างรายการเนื้อหา เช่น สตรีมวิดีโอหรือเสียง เพื่อเล่นตามลำดับบน WebReceiver คิวของรายการเนื้อหาอาจมีการแก้ไข จัดลำดับใหม่ อัปเดต และอื่นๆ
SDK ตัวรับสัญญาณเว็บจะรักษาคิวและตอบสนองต่อการดำเนินการในคิวตราบใดที่คิวยังมีรายการที่ใช้งานอยู่อย่างน้อย 1 รายการ (กำลังเล่นหรือหยุดชั่วคราว) ผู้ส่งสามารถเข้าร่วมเซสชันและเพิ่มรายการลงในคิวได้ ผู้รับจะเก็บรักษาเซสชันสำหรับรายการคิวจนกว่ารายการสุดท้ายจะเล่นเสร็จสมบูรณ์ หรือผู้ส่งหยุดการเล่นและสิ้นสุดเซสชัน หรือจนกว่าผู้ส่งจะโหลดคิวใหม่บนเครื่องรับ โดยค่าเริ่มต้น รีซีฟเวอร์จะไม่เก็บรักษาข้อมูลใดๆ เกี่ยวกับคิวที่สิ้นสุดลงแล้ว เมื่อรายการสุดท้ายในคิวสิ้นสุดลง เซสชันสื่อจะสิ้นสุดลงและคิวจะหายไป
สร้างและโหลดรายการในคิวสื่อ
ใน iOS รายการคิวสื่อจะแสดงในเฟรมเวิร์กแคสต์เป็นอินสแตนซ์ GCKMediaQueueItem
เมื่อสร้างรายการคิวสื่อด้วยเนื้อหาแบบปรับขนาดได้ คุณสามารถตั้งเวลาโหลดล่วงหน้าเพื่อให้โปรแกรมเล่นเริ่มบัฟเฟอร์รายการคิวสื่อก่อนที่รายการก่อนหน้าในคิวจะเล่นเสร็จสิ้น ดูข้อมูลเพิ่มเติมเกี่ยวกับการโหลดล่วงหน้าใน
คู่มือการโหลดเว็บรีซีฟเวอร์ล่วงหน้า
การตั้งค่าแอตทริบิวต์เล่นอัตโนมัติของรายการเป็น "จริง" จะทำให้เว็บรีซีฟเวอร์เล่นโดยอัตโนมัติ ตัวอย่างเช่น คุณสามารถใช้รูปแบบเครื่องมือสร้างเพื่อสร้างรายการคิวสื่อดังนี้
let builder = GCKMediaQueueItemBuilder.init() builder.mediaInformation = mediaInformation builder.autoplay = true builder.preloadTime = 8.0 let newItem = builder.build()
GCKMediaQueueItemBuilder *builder = [[GCKMediaQueueItemBuilder alloc] init]; builder.mediaInformation = self.mediaInformation; builder.autoplay = YES; builder.preloadTime = 8.0; GCKMediaQueueItem *newItem = [builder build];
โหลดอาร์เรย์ของรายการในคิวสื่อในคิวโดยใช้เมธอด queueLoadItems
ที่เหมาะสมของคลาส GCKRemoteMediaClient
รับการอัปเดตสถานะคิวสื่อ
เมื่อเว็บรีซีฟเวอร์โหลดรายการคิวสื่อ ระบบจะกำหนดรหัสที่ไม่ซ้ำกันให้กับรายการที่คงอยู่ตามระยะเวลาของเซสชัน (และอายุการใช้งานของคิว)
คุณสามารถดูสถานะของคิวที่ระบุรายการที่กำลังโหลดอยู่ (อาจยังไม่เล่น) กำลังโหลด หรือโหลดล่วงหน้า นอกจากนี้ คุณยังสามารถดู
รายการตามลำดับของรายการทั้งหมดที่อยู่ในคิว ชั้นเรียน GCKMediaStatus
จะให้ข้อมูลสถานะต่อไปนี้
- พร็อพเพอร์ตี้
preloadedItemID
- รหัสของรายการที่โหลดไว้ล่วงหน้า หากมี - พร็อพเพอร์ตี้
loadingItemID
- รหัสของสินค้าที่กำลังโหลดอยู่ - พร็อพเพอร์ตี้
currentItemID
- รหัสของรายการคิวปัจจุบัน หากมี - วิธีการ
queueItemCount
- แสดงผลจำนวนรายการในคิวการเล่น - วิธีการ
queueItemAtIndex
- แสดงรายการที่ดัชนีที่ระบุในคิวการเล่น
ใช้สมาชิกเหล่านี้ร่วมกับสมาชิกสถานะสื่ออื่นๆ เพื่อแจ้งให้แอปของคุณ
เกี่ยวกับสถานะของคิวและรายการต่างๆ ในคิว นอกจากการอัปเดตสถานะสื่อจาก Web Receiver แล้ว คุณยังรอฟังการเปลี่ยนแปลงของคิวได้โดยใช้ -[remoteMediaClientDidUpdateQueue:]
ของ GCKRemoteMediaClientListener
แก้ไขคิว
หากต้องการดำเนินการกับรายการในคิว ให้ใช้วิธีการจัดคิวของ GCKRemoteMediaClient
คุณมี API หลายรายการ ซึ่งจะช่วยให้คุณโหลดอาร์เรย์ของรายการลงในคิวใหม่ แทรกรายการลงในคิวที่มีอยู่ อัปเดตคุณสมบัติของรายการในคิว ทำให้รายการข้ามไปข้างหน้าหรือย้อนกลับในคิว ตั้งค่าคุณสมบัติของคิว (เช่น เปลี่ยน repeatMode
ที่เลือกรายการถัดไป) นำรายการออกจากคิว และจัดเรียงรายการในคิวใหม่