فئة GCKMediaQueue

مرجع فئة GCKMediaQueue

نظرة عامة

تمثيل في نموذج بيانات لقائمة انتظار وسائط ذات طول عشوائي

يمكن استخدام هذه الفئة كأساس لتنفيذ UITableViewDataSource لإدارة واجهة مستخدم قائمة انتظار الوسائط.

ينتظر GCKMediaQueue أحداث GCKSessionManager ويتم إرفاق نفسه تلقائيًا بـ GCKRemoteMediaClient عند بدء جلسة البث. يرصد النظام إشعارات التغيير في قائمة الانتظار من "GCKRemoteMediaClient" ويعدّل نموذج البيانات الداخلية وفقًا لذلك. وبالمثل، يستخدم الأداة GCKRemoteMediaClient لجلب معلومات قائمة الانتظار عند الطلب.

يحتفظ النموذج بقائمة من معرّفات عناصر قائمة الانتظار لكامل قائمة الانتظار، ويجلب هذه القائمة تلقائيًا كلما تم إرفاقها بجلسة بث. ويحتفظ أيضًا بذاكرة التخزين المؤقت للتطبيقات الأقل استخدامًا (LRU) (بحجم قابل للتهيئة) لـ GCKMediaQueueItems، مرتبطة بمعرّف عنصر قائمة الانتظار.

يتم استخدام الطريقة itemAtIndex: (GCKMediaQueue) لجلب عنصر قائمة المحتوى التالي في فهرس معيّن. وإذا لم يكن GCKMediaQueueItem في ذاكرة التخزين المؤقت حاليًا، يتم تقديم طلب غير متزامن لاسترجاع هذا العنصر من المستلِم، ويتم إعلام المفوَّض في النهاية عند استلام العناصر المطلوبة.

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

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

يمكنك الاطّلاع على GCKMediaQueueDelegate لمعرفة بروتوكول التفويض.

منذ
4.3.4

تكتسب NSObject.

ملخّص طريقة المثيل

(instancetype) - init
 
(instancetype) - initWithRemoteMediaClient:
 تعمل هذه السياسة على إعداد GCKMediaQueue جديد باستخدام الحجم التلقائي لذاكرة التخزين المؤقت والحد الأقصى التلقائي لعدد عمليات الجلب. المزيد...
 
(instancetype) - initWithRemoteMediaClient:cacheSize:
 تعمل هذه السياسة على إعداد GCKMediaQueue جديد باستخدام حجم ذاكرة التخزين المؤقت المحدّد والحد الأقصى التلقائي لعدد عمليات الجلب. المزيد...
 
(instancetype) - initWithRemoteMediaClient:cacheSize:maxFetchCount:
 تعمل هذه السياسة على إعداد GCKMediaQueue جديد باستخدام حجم ذاكرة التخزين المؤقت المحدّد والحد الأقصى لعدد عمليات الجلب. المزيد...
 
(void) - addDelegate:
 لإضافة مفوّض إلى قائمة المستخدمين المفوَّضين المزيد...
 
(void) - removeDelegate:
 لإزالة مفوّض من قائمة المستخدمين المفوَّضين المزيد...
 
(nullable GCKMediaQueueItem *) - itemAtIndex:
 لعرض عنصر قائمة انتظار الوسائط في الفهرس المحدد في قائمة الانتظار، أو ترتيب جلب العنصر من المتلقي إذا لم يكن في ذاكرة التخزين المؤقت حاليًا. المزيد...
 
(nullable GCKMediaQueueItem *) - itemAtIndex:fetchIfNeeded:
 يتم عرض عنصر قائمة انتظار الوسائط في الفهرس المحدد في قائمة الانتظار، أو الترتيب اختياريًا لجلب العنصر من المتلقي إذا لم يكن في ذاكرة التخزين المؤقت حاليًا. المزيد...
 
(GCKMediaQueueItemID- itemIDAtIndex:
 لعرض معرّف العنصر في الفهرس المحدّد في قائمة الانتظار. المزيد...
 
(NSInteger) - indexOfItemWithID:
 البحث عن فهرس عنصر قائمة الانتظار في قائمة الانتظار. المزيد...
 
(void) - reload
 لإعادة تحميل قائمة المحتوى التالي. المزيد...
 
(void) - clear
 لمحو قائمة الانتظار، وإزالة جميع العناصر، ومسح ذاكرة التخزين المؤقت. المزيد...
 

ملخّص الموقع

NSUInteger itemCount
 عدد العناصر في قائمة الانتظار حاليًا. المزيد...
 
NSUInteger cacheSize
 حجم ذاكرة التخزين المؤقت المزيد...
 
NSUInteger cachedItemCount
 عدد عناصر "قائمة المحتوى التالي" الموجودة حاليًا في ذاكرة التخزين المؤقت. المزيد...
 

تفاصيل الطريقة

- (instancetype) initWithRemoteMediaClient: (GCKRemoteMediaClient *)  remoteMediaClient

تعمل هذه السياسة على إعداد GCKMediaQueue جديد باستخدام الحجم التلقائي لذاكرة التخزين المؤقت والحد الأقصى التلقائي لعدد عمليات الجلب.

- (instancetype) initWithRemoteMediaClient: (GCKRemoteMediaClient *)  remoteMediaClient
cacheSize: (NSUInteger)  cacheSize 

تعمل هذه السياسة على إعداد GCKMediaQueue جديد باستخدام حجم ذاكرة التخزين المؤقت المحدّد والحد الأقصى التلقائي لعدد عمليات الجلب.

Parameters
cacheSizeThe cache size. Must be nonzero.
- (instancetype) initWithRemoteMediaClient: (GCKRemoteMediaClient *)  remoteMediaClient
cacheSize: (NSUInteger)  cacheSize
maxFetchCount: (NSUInteger)  maxFetchCount 

تعمل هذه السياسة على إعداد GCKMediaQueue جديد باستخدام حجم ذاكرة التخزين المؤقت المحدّد والحد الأقصى لعدد عمليات الجلب.

Parameters
cacheSizeThe cache size. Must be nonzero.
maxFetchCountThe maxiumum fetch count with minimum being 1.
- (void) addDelegate: (id< GCKMediaQueueDelegate >)  delegate

لإضافة مفوّض إلى قائمة المستخدمين المفوَّضين

Parameters
delegateThe delegate to add. The delegate will be retained until removeDelegate: is called.
- (void) removeDelegate: (id< GCKMediaQueueDelegate >)  delegate

لإزالة مفوّض من قائمة المستخدمين المفوَّضين

Parameters
delegateThe delegate to remove.
- (nullable GCKMediaQueueItem *) itemAtIndex: (NSUInteger)  index

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

Parameters
indexThe index of the item to fetch.
المرتجعات
العنصر المتوفر في الفهرس المحدد أو nil إذا لم يكن العنصر في ذاكرة التخزين المؤقت حاليًا، ولكن سيتم جلبه بشكل غير متزامن.
- (nullable GCKMediaQueueItem *) itemAtIndex: (NSUInteger)  index
fetchIfNeeded: (BOOL)  fetch 

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

Parameters
indexThe index of the item to fetch.
fetchWhether the item should be fetched from the receiver if it is not currently in the cache.
المرتجعات
العنصر المتوفّر في الفهرس المحدّد أو nil إذا لم يكن العنصر حاليًا في ذاكرة التخزين المؤقت.
- (GCKMediaQueueItemID) itemIDAtIndex: (NSUInteger)  index

لعرض معرّف العنصر في الفهرس المحدّد في قائمة الانتظار.

المرتجعات
رقم تعريف العنصر في الفهرس المحدد أو kGCKMediaQueueAliasItemID إذا كان الفهرس غير صالح.
- (NSInteger) indexOfItemWithID: (GCKMediaQueueItemID itemID

البحث عن فهرس عنصر قائمة الانتظار في قائمة الانتظار.

Parameters
itemIDThe queue item ID.
المرتجعات
الفهرس (أي الموضع الأصلي) للعنصر في قائمة الانتظار أو NSNotFound إذا لم يكن هناك العنصر المطلوب في قائمة الانتظار.
- (void) reload

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

سيتم محو ذاكرة التخزين المؤقت وستتم إعادة جلب قائمة معرّفات العناصر من المستلِم.

- (void) clear

لمحو قائمة الانتظار، وإزالة جميع العناصر، ومسح ذاكرة التخزين المؤقت.

تفاصيل الموقع

- (NSUInteger) itemCount
readnonatomicassign

عدد العناصر في قائمة الانتظار حاليًا.

- (NSUInteger) cacheSize
readnonatomicassign

حجم ذاكرة التخزين المؤقت

- (NSUInteger) cachedItemCount
readnonatomicassign

عدد عناصر "قائمة المحتوى التالي" الموجودة حاليًا في ذاكرة التخزين المؤقت.