อยู่ในคิว

เฟรมเวิร์กของ 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 ที่เลือกรายการถัดไป) นำรายการออกจากคิว และจัดเรียงรายการในคิวใหม่