อยู่ในคิว

เฟรมเวิร์กการแคสต์มี API การจัดคิวที่รองรับการสร้างรายการ รายการเนื้อหา เช่น สตรีมวิดีโอหรือเสียง เพื่อเล่นบนเว็บตามลำดับ ผู้รับ คิวของรายการเนื้อหาอาจมีการแก้ไข เรียงลำดับใหม่ อัปเดต และอื่นๆ นี้

Web Receiver SDK จะรักษาคิวและตอบสนองการดำเนินการบน คิวตราบใดที่คิวมีอย่างน้อยหนึ่งรายการที่ใช้งานอยู่ในขณะนี้ (กำลังเล่นหรือ หยุดชั่วคราว) ผู้ส่งสามารถเข้าร่วมเซสชันและเพิ่มรายการลงในคิวได้ ผู้รับ รักษาเซสชันสำหรับรายการในคิวไว้จนกว่ารายการสุดท้ายจะเล่นจบ หรือ ผู้ส่งหยุดการเล่นและสิ้นสุดเซสชัน หรือจนกว่าผู้ส่ง โหลดคิวใหม่บนเครื่องรับ ผู้รับไม่ได้รักษา ข้อมูลเกี่ยวกับคิวที่สิ้นสุดไปแล้วโดยค่าเริ่มต้น เมื่อรายการสุดท้ายในคิว เซสชันสื่อจะสิ้นสุดลงและคิวก็หายไป

สร้างและโหลดรายการในคิวสื่อ

ใน iOS รายการคิวสื่อจะแสดงในเฟรมเวิร์กของ Cast เป็น GCKMediaQueueItem อินสแตนซ์ เมื่อสร้างรายการในคิวสื่อที่มีเนื้อหาที่ปรับเปลี่ยนได้ คุณสามารถตั้งค่า เวลาโหลดล่วงหน้าเพื่อให้โปรแกรมเล่นสามารถเริ่มบัฟเฟอร์รายการคิวสื่อก่อน รายการที่อยู่ข้างหน้าในคิวจะเล่นต่อจนเสร็จ ดูเพิ่มเติมเกี่ยวกับการโหลดล่วงหน้าใน เวลา คู่มือการโหลดล่วงหน้าของตัวรับเว็บ

การตั้งค่าการเล่นอัตโนมัติของรายการ เป็น true ทำให้เว็บรีซีฟเวอร์สามารถเล่นได้โดยอัตโนมัติ ตัวอย่างเช่น คุณสามารถใช้รูปแบบเครื่องมือสร้างเพื่อสร้างรายการคิวสื่อได้ดังนี้

Swift
วันที่
let builder = GCKMediaQueueItemBuilder.init()
builder.mediaInformation = mediaInformation
builder.autoplay = true
builder.preloadTime = 8.0
let newItem = builder.build()
Objective-C
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 method - แสดงผลจำนวนรายการในคิวการเล่น
  • queueItemAtIndex method - แสดงรายการ ณ ดัชนีที่ระบุในคิวการเล่น

ใช้สมาชิกเหล่านี้ร่วมกับสมาชิกสถานะสื่ออื่นๆ เพื่อแจ้ง แอปเกี่ยวกับสถานะของคิวและรายการต่างๆ ในคิว นอกจาก การอัปเดตสถานะสื่อจาก Web Receiver คุณจะสามารถฟังการเปลี่ยนแปลง โดยใช้คำสั่ง -[remoteMediaClientDidUpdateQueue:] ของ GCKRemoteMediaClientListener

แก้ไขคิว

หากต้องการทำงานกับรายการในคิว ให้ใช้วิธีการจัดคิวของ GCKRemoteMediaClient คุณมี API หลายรายการ ซึ่งจะช่วยให้คุณโหลดรายการอาร์เรย์ ลงในคิวใหม่ได้ แทรกรายการลงในคิวที่มีอยู่ ให้อัปเดตคุณสมบัติของรายการใน คิว กำหนดให้รายการข้ามไปข้างหน้าหรือย้อนกลับในคิว ตั้งค่าคุณสมบัติของรายการ ตัวคิว (เช่น เปลี่ยน repeatMode ที่เลือกรายการถัดไป รายการ) นำรายการออกจากคิว และเรียงลำดับรายการใหม่ในคิว