Recupera una finestra di elementi utilizzando il valore itemID specificato come riferimento. Questo metodo viene richiamato da MediaManager quando ha bisogno di più elementi in coda, spesso derivanti da una richiesta del mittente. Se è impostato nextCount o prevCount, fetchItems restituirà gli articoli solo dopo o prima dell'elemento di riferimento. Se sono impostati entrambi gli elementi nextCount e prevCount, verrà restituita una finestra di elementi
che includono itemId.
Parametro
itemId
numero
L'ID dell'elemento di riferimento.
nextCount
numero
Numero di voci dopo l'elemento di riferimento.
prevCount
numero
Numero di elementi prima dell'elemento di riferimento.
Inizializza la coda con requestData. Richiamato quando il destinatario riceve una nuova richiesta cast.framework.messages.Command.LOAD. Se questo restituisce o
risolve null, l'implementazione predefinita dell'accodamento creerà una coda
basata su queueData.items o sul singolo elemento multimediale nei dati della
richiesta LOAD.
Imposta l'elemento corrente su itemId. Richiamato da MediaManager
quando cambia l'elemento attualmente in riproduzione.
Parametro
itemId
numero
L'ID univoco dell'articolo.
onItemsInserted
onItemsInserted(items, insertBefore)
Un callback che indica che i seguenti elementi sono stati inseriti nella coda del destinatario in questa sessione. Un'implementazione basata su cloud potrebbe aggiornare la sua coda in base a queste nuove informazioni.
ID dell'articolo posizionato subito dopo l'elenco inserito. Se l'ID non viene fornito, l'elenco inserito è stato aggiunto alla fine della coda.
onItemsRemoved
onItemsRemoved(itemIds)
Un callback che indica che i seguenti elementi sono stati rimossi dalla coda del destinatario in questa sessione. Un'implementazione basata su cloud potrebbe aggiornare la sua coda in base a queste nuove informazioni.
Parametro
itemIds
Array del numero
Gli ID degli elementi che sono stati rimossi.
Il valore non deve essere nullo.
onItemsReordered
onItemsReordered(items, insertBefore)
Un callback che indica che i seguenti elementi sono stati riordinati.
ID dell'articolo che si trova subito dopo l'elenco riordinato. Se insertBefore non viene fornito,
l'elenco riordinato verrà aggiunto alla fine della coda.
[null,null,["Ultimo aggiornamento 2025-07-25 UTC."],[[["\u003cp\u003e\u003ccode\u003eQueueBase\u003c/code\u003e provides a foundational structure for managing media queues within the Cast framework.\u003c/p\u003e\n"],["\u003cp\u003eIt offers methods to initialize, fetch, and manipulate queue items, including shuffling and unshuffling.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can extend this base class to implement custom queueing logic for their Cast receiver applications.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eQueueBase\u003c/code\u003e interacts with \u003ccode\u003eMediaManager\u003c/code\u003e to handle queue updates and playback transitions.\u003c/p\u003e\n"],["\u003cp\u003eCallbacks are provided to inform developers about queue modifications like insertions, removals, and reordering.\u003c/p\u003e\n"]]],["The `QueueBase` class manages a media queue, fetching, initializing, and modifying items. Key actions include `fetchItems` to retrieve a range of items based on a reference ID, `initialize` to set up the queue upon a load request, and `nextItems`/`prevItems` to get items following or preceding a given item. Other methods handle updates like `onItemsInserted`, `onItemsRemoved`, `onItemsReordered`, and also manage playback order using `shuffle` and `unshuffle`. The `onCurrentItemIdChanged` method is called when an item is playing.\n"],null,["# Class: QueueBase\n\ncast.[framework](/cast/docs/reference/web_receiver/cast.framework).QueueBase\n============================================================================\n\nclass static\n\nBase implementation of a queue.\n\nConstructor\n-----------\n\n### QueueBase\n\nnew\nQueueBase()\n\nMethods\n-------\n\n### fetchItems\n\nfetchItems(itemId, nextCount, prevCount) returns (non-null Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem) or non-null Promise containing non-null Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem))\n\nFetches a window of items using the specified `itemID` as reference. This\nmethod is called by `MediaManager` when it needs more queue items, often\nstemming from a sender request. If either `nextCount` or `prevCount` are\nset, `fetchItems` will only return items after or before the reference\nitem. If both `nextCount` and `prevCount` are set, a window of items\nincluding `itemId` will be returned.\n\n| #### Parameter ||\n|-----------|---------------------------------------------------|\n| itemId | number The ID of the reference item. |\n| nextCount | number Number of items after the reference item. |\n| prevCount | number Number of items before the reference item. |\n\nReturns\n\n: `(non-null Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)` or non-null Promise containing non-null Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)`)`\n\n### initialize\n\ninitialize(requestData) returns ([cast.framework.messages.QueueData](/cast/docs/reference/web_receiver/cast.framework.messages.QueueData) or non-null Promise containing nullable [cast.framework.messages.QueueData](/cast/docs/reference/web_receiver/cast.framework.messages.QueueData))\n\nInitializes the queue with `requestData`. Called when the receiver\ngets a new `cast.framework.messages.Command.LOAD` request. If this returns or\nresolves to `null`, the default queueing implementation will create a queue\nbased on `queueData.items` or on the single media item in the `LOAD`\nrequest data.\n\n| #### Parameter ||\n|-------------|----------------------------------------------------------------------------------------------------------------------------------------------|\n| requestData | [cast.framework.messages.LoadRequestData](/cast/docs/reference/web_receiver/cast.framework.messages.LoadRequestData) Value must not be null. |\n\nReturns\n\n: `(nullable `[cast.framework.messages.QueueData](/cast/docs/reference/web_receiver/cast.framework.messages.QueueData)` or non-null Promise containing nullable `[cast.framework.messages.QueueData](/cast/docs/reference/web_receiver/cast.framework.messages.QueueData)`)`\n\n### nextItems\n\nnextItems(itemId) returns (nullable Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem) or non-null Promise containing nullable Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem))\n\nReturns all items in the queue following `itemID`. This is called by\n`MediaManager`.\n\n| #### Parameter ||\n|--------|-----------------------------------------------|\n| itemId | Optional number The ID of the reference item. |\n\nReturns\n\n: `(nullable Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)` or non-null Promise containing nullable Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)`)`\n\n### onCurrentItemIdChanged\n\nonCurrentItemIdChanged(itemId)\n\nSets the current item to `itemId`. Called by `MediaManager`\nwhen it changes the currently-playing item.\n\n| #### Parameter ||\n|--------|------------------------------------|\n| itemId | number The unique ID for the item. |\n\n### onItemsInserted\n\nonItemsInserted(items, insertBefore)\n\nA callback that indicates that the following items have been inserted into\nthe receiver queue in this session. A cloud-based implementation might\nupdate its queue based on this new information.\n\n| #### Parameter ||\n|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| items | Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem) The items that were inserted. Value must not be null. |\n| insertBefore | Optional number ID of the item that was located immediately after the inserted list. If the ID is not provided, the inserted list was appended to the end of the queue. |\n\n### onItemsRemoved\n\nonItemsRemoved(itemIds)\n\nA callback that indicates that the following items have been removed from\nthe receiver queue in this session. A cloud-based implementation might\nupdate its queue based on this new information.\n\n| #### Parameter ||\n|---------|---------------------------------------------------------------------------------|\n| itemIds | Array of number The IDs of the items that were removed. Value must not be null. |\n\n### onItemsReordered\n\nonItemsReordered(items, insertBefore)\n\nA callback that indicates that the following items have been reordered.\n\n| #### Parameter ||\n|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| items | Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem) The IDs of the items that were reordered. Value must not be null. |\n| insertBefore | Optional number ID of the item that is located immediately after the reordered list. If `insertBefore` is not provided, the reordered list will be appended to the end of the queue. |\n\nSee also\n: [cast.framework.messages.QueueReorderRequestData#itemIds](/cast/docs/reference/web_receiver/cast.framework.messages.QueueReorderRequestData#itemIds) for more details.\n\n### prevItems\n\nprevItems(itemId) returns (nullable Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem) or non-null Promise containing nullable Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem))\n\nReturns all items before `itemID`. This is called by `MediaManager`.\n\n| #### Parameter ||\n|--------|-----------------------------------------------|\n| itemId | Optional number The ID of the reference item. |\n\nReturns\n\n: `(nullable Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)` or non-null Promise containing nullable Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)`)`\n\n### shuffle\n\nshuffle() returns (nullable Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem) or non-null Promise containing nullable Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem))\n\nShuffles the queue and returns new queue items. Returns `null` if the\noperation is not supported.\n\nReturns\n\n: `(nullable Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)` or non-null Promise containing nullable Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)`)`\n\n### unshuffle\n\nunshuffle() returns (nullable Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem) or non-null Promise containing nullable Array of non-null [cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem))\n\nUnshuffles the queue and returns new queue items. Returns `null` if the\noperation is not supported.\n\nReturns\n\n: `(nullable Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)` or non-null Promise containing nullable Array of non-null `[cast.framework.messages.QueueItem](/cast/docs/reference/web_receiver/cast.framework.messages.QueueItem)`)`"]]