الوضع في قائمة الانتظار

يوفّر إطار عمل Cast واجهات برمجة تطبيقات للإضافة إلى "قائمة المحتوى التالي" وتتيح إنشاء قوائم بعناصر المحتوى، مثل عمليات بث الفيديو أو الصوت، لتشغيلها بشكل تسلسلي على "جهاز استقبال الويب". يمكن تعديل قائمة انتظار عناصر المحتوى وإعادة ترتيبها وتحديثها وما إلى ذلك.

تحتفظ حزمة تطوير برامج استقبال الويب بقائمة الانتظار وتستجيب للعمليات في قائمة الانتظار ما دامت قائمة الانتظار تحتوي على عنصر واحد على الأقل نشط حاليًا (قيد التشغيل أو الإيقاف المؤقت). يمكن للمرسلين الانضمام إلى الجلسة وإضافة عناصر إلى قائمة الانتظار. ويحتفظ المتلقي بجلسة لعناصر قائمة الانتظار حتى اكتمال العنصر الأخير أو حتى يوقف المرسل التشغيل وينهي الجلسة، أو حتى يحمّل المرسِل قائمة انتظار جديدة على المتلقي. لا يحتفظ المتلقي بأي معلومات حول قوائم الانتظار التي تم إنهاؤها افتراضيًا. بمجرد انتهاء العنصر الأخير في قائمة الانتظار، تنتهي جلسة الوسائط وتختفي قائمة الانتظار.

إنشاء عناصر قائمة انتظار الوسائط وتحميلها

في نظام التشغيل iOS، يتم تمثيل عنصر قائمة انتظار الوسائط في إطار عمل البث كمثيل GCKMediaQueueItem. عند إنشاء عنصر في قائمة انتظار الوسائط يتضمن محتوى متكيفًا، يمكنك ضبط مدة التحميل المسبق لكي يتمكن المشغّل من بدء التخزين المؤقت لعنصر قائمة انتظار الوسائط قبل انتهاء تشغيل العنصر الذي يسبقه في قائمة الانتظار. يمكنك الاطّلاع على المزيد من المعلومات حول التحميل المسبق في دليل التحميل المسبق لأجهزة استقبال الويب.

ويؤدي ضبط سمة التشغيل التلقائي للعنصر على "صحيح" إلى السماح لـ "جهاز استقبال الويب" بتشغيلها تلقائيًا. على سبيل المثال، يمكنك استخدام نمط أداة إنشاء لإنشاء عنصر قائمة انتظار الوسائط على النحو التالي:

تطبيق Swift
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: لعرض العنصر في الفهرس المحدّد في قائمة انتظار التشغيل

استخدم هؤلاء الأعضاء مع أعضاء حالة الوسائط الآخرين لإبلاغ تطبيقك بحالة قائمة الانتظار والعناصر الموجودة في قائمة الانتظار. بالإضافة إلى تحديثات حالة الوسائط من "جهاز استقبال الويب"، يمكنك الاستماع إلى التغييرات في قائمة الانتظار عن طريق تنفيذ -[remoteMediaClientDidUpdateQueue:] في GCKRemoteMediaClientListener.

تعديل قائمة المحتوى التالي

للتعامل مع العناصر في قائمة الانتظار، استخدِم طرق قائمة الانتظار GCKRemoteMediaClient. لديك العديد من واجهات برمجة التطبيقات. تتيح لك هذه الأدوات تحميل مصفوفة من العناصر إلى قائمة انتظار جديدة، وإدراج العناصر في قائمة انتظار حالية، وتعديل خصائص العناصر في قائمة الانتظار، وتحريك عنصر إلى الأمام أو الخلف في قائمة الانتظار، وضبط خصائص قائمة الانتظار نفسها (على سبيل المثال، تغيير repeatMode الذي سيختار العنصر التالي)، وإزالة العناصر من قائمة الانتظار، وإعادة ترتيب العناصر في قائمة الانتظار.