Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Khung Cast cung cấp các API xếp hàng hỗ trợ việc tạo danh sách
các mục nội dung, chẳng hạn như luồng video hoặc âm thanh, để phát tuần tự trên Web
Đầu thu. Bạn có thể chỉnh sửa, sắp xếp lại, cập nhật các mục nội dung trong hàng đợi, v.v.
trước.
Web receiver SDK duy trì hàng đợi và phản hồi các hoạt động trên
hàng đợi miễn là hàng đợi có ít nhất một mục đang hoạt động (phát hoặc
bị tạm dừng). Người gửi có thể tham gia phiên này và thêm các mục vào hàng đợi. Người nhận
duy trì một phiên cho các mục trong hàng đợi cho đến khi mục cuối cùng phát xong hoặc
người gửi dừng phát lại và chấm dứt phiên hoặc cho đến khi người gửi
tải một hàng đợi mới trên receiver. Trình nhận không duy trì bất kỳ
thông tin về hàng đợi kết thúc theo mặc định. Sau khi mục cuối cùng trong hàng đợi
kết thúc thì phiên phát nội dung đa phương tiện kết thúc và hàng đợi biến mất.
Tạo và tải các mục hàng đợi nội dung nghe nhìn
Trong iOS, mục hàng đợi nội dung đa phương tiện được biểu thị trong khung Truyền dưới dạng
Thực thể GCKMediaQueueItem.
Khi tạo mục hàng đợi nội dung nghe nhìn có nội dung thích ứng, bạn có thể đặt
thời gian tải trước để trình phát có thể bắt đầu lưu mục hàng đợi nội dung nghe nhìn vào bộ đệm trước khi
mục đứng trước trong hàng đợi được phát xong. Xem thêm về cách tải trước trong
thời gian
Hướng dẫn tải trước Trình nhận web.
Cài đặt tính năng tự động phát cho mặt hàng
thành true cho phép Web receiver tự động phát nội dung đó. Ví dụ:
bạn có thể sử dụng mẫu trình tạo để tạo mục hàng đợi nội dung đa phương tiện như sau:
Tải một mảng các mục hàng đợi nội dung đa phương tiện trong hàng đợi bằng cách sử dụng các tệp phù hợp
Phương thức queueLoadItems của
GCKRemoteMediaClient
.
Nhận thông tin cập nhật về trạng thái của hàng đợi nội dung nghe nhìn
Khi Web receiver tải một mục hàng đợi đa phương tiện, thiết bị này sẽ chỉ định một mã nhận dạng duy nhất cho
mục duy trì trong thời gian diễn ra phiên (và vòng đời của hàng đợi).
Bạn có thể tìm hiểu trạng thái của hàng đợi cho biết mục nào đang được tải
(ứng dụng có thể không phát), đang tải hoặc được tải trước. Bạn cũng có thể nhận được
danh sách tất cả các mục trong hàng đợi. Chiến lược phát hành đĩa đơn
GCKMediaStatus
lớp cung cấp thông tin trạng thái sau:
preloadedItemID
thuộc tính - ID của mặt hàng hiện đã được tải trước, nếu có.
loadingItemID
thuộc tính - ID của mặt hàng hiện đang tải,
currentItemID
thuộc tính – Mã của mục hàng hiện tại, nếu có.
queueItemCount
phương thức – Trả về số lượng mục trong hàng đợi phát.
queueItemAtIndex
phương thức – Trả về mục tại chỉ mục được chỉ định trong hàng đợi phát lại.
Sử dụng các thành viên này cùng với các thành viên có trạng thái nội dung đa phương tiện khác để cung cấp thông tin
ứng dụng về trạng thái của hàng đợi và các mục trong hàng đợi. Ngoài
các bản cập nhật trạng thái nội dung nghe nhìn từ Web nhận, bạn có thể nghe các thay đổi đối với
bằng cách triển khai -[remoteMediaClientDidUpdateQueue:] của
GCKRemoteMediaClientListener.
Chỉnh sửa hàng đợi
Để làm việc với các mục trong hàng đợi, hãy sử dụng phương thức hàng đợi của
GCKRemoteMediaClient.
bạn có một vài API. Các API này cho phép bạn tải một mảng các mục vào một hàng đợi mới,
chèn mục vào hàng đợi hiện có, cập nhật thuộc tính của các mục trong
hàng đợi, đưa một mục tiến lên hoặc lùi lại trong hàng đợi, đặt thuộc tính của
hàng đợi đó (ví dụ: thay đổi repeatMode chọn hàng đợi tiếp theo
mục), xóa mục khỏi hàng đợi và sắp xếp lại các mục trong hàng đợi.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eThe Google Cast framework enables the creation and management of media queues on Web Receivers for sequential playback of audio or video content.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can build media queue items, set autoplay and preload times, and load them into the queue using the \u003ccode\u003eGCKRemoteMediaClient\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eGCKMediaStatus\u003c/code\u003e class provides information about the queue's status, including the currently playing, loading, and preloaded items.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eGCKRemoteMediaClient\u003c/code\u003e offers various methods to edit the queue, such as inserting, updating, removing, and reordering items, as well as controlling queue behavior.\u003c/p\u003e\n"],["\u003cp\u003eSender applications should display the upcoming autoplay item from the queue in their user interface to enhance the user experience.\u003c/p\u003e\n"]]],["The Cast framework enables sequential playback of content items (like audio/video) via queueing APIs. Senders can create, edit, reorder, and update queues. The Web Receiver manages the queue as long as it has an active item, maintaining session until the last item finishes or the session is terminated. In iOS, `GCKMediaQueueItem` represents queue items, with options for autoplay and preloading. `GCKMediaStatus` provides information about the loaded, loading, or preloaded item and the queue status. `GCKRemoteMediaClient` allows to load, insert, update, remove, and reorder items.\n"],null,["# Queueing\n\nThe Cast framework provides queueing APIs that support the creation of lists of\ncontent items, such as video or audio streams, to play sequentially on the Web\nReceiver. The queue of content items may be edited, reordered, updated, and so\nforth.\n| **Note:** Review the [Google Cast Autoplay](/cast/docs/design_checklist/cast-autoplay) for best practices when designing an autoplay or queueing experience for Cast.\n\nThe Web Receiver SDK maintains the queue and responds to operations on the\nqueue as long as the queue has at least one item currently active (playing or\npaused). Senders can join the session and add items to the queue. The receiver\nmaintains a session for queue items until the last item completes playback or\nthe sender stops the playback and terminates the session, or until a sender\nloads a new queue on the receiver. The receiver does not maintain any\ninformation about terminated queues by default. Once the last item in the queue\nfinishes, the media session ends and the queue vanishes.\n| **Note:** The [Styled](/cast/docs/styled_receiver) and [Default Media](/cast/docs/web_receiver#default_media_web_receiver) Receivers only support a queue of audio or video streams. To use a queue of images, you must develop a [Custom Receiver](/cast/docs/web_receiver/basic).\n\nCreate and load media queue items\n---------------------------------\n\nIn iOS, a media queue item is represented in the Cast framework as a\n[`GCKMediaQueueItem` instance](/cast/docs/reference/ios/interface_g_c_k_media_queue_item).\nWhen you create a media queue item with adaptive content, you can set the\npreload time so that the player can begin buffering the media queue item before\nthe item ahead of it in the queue finishes playing. See more about preloading in\nthe\n[Web Receiver preloading guide](/cast/docs/web_receiver/core_features#content_preload).\n\nSetting the item's autoplay\nattribute to true allows the Web Receiver to play it automatically. For example,\nyou can use a builder pattern to create your media queue item as follows:\nSwift \n\n```swift\nlet builder = GCKMediaQueueItemBuilder.init()\nbuilder.mediaInformation = mediaInformation\nbuilder.autoplay = true\nbuilder.preloadTime = 8.0\nlet newItem = builder.build()\n```\nObjective-C \n\n```objective-c\nGCKMediaQueueItemBuilder *builder = [[GCKMediaQueueItemBuilder alloc] init];\nbuilder.mediaInformation = self.mediaInformation;\nbuilder.autoplay = YES;\nbuilder.preloadTime = 8.0;\nGCKMediaQueueItem *newItem = [builder build];\n```\n\nLoad an array of media queue items in the queue by using the appropriate\n`queueLoadItems` method of the\n[`GCKRemoteMediaClient`](/cast/docs/reference/ios/interface_g_c_k_remote_media_client)\nclass.\n\nReceive media queue status update\n---------------------------------\n\nWhen the Web Receiver loads a media queue item, it assigns a unique ID to the\nitem that persists for the duration of the session (and the life of the queue).\nYou can learn the status of the queue indicating which item is currently loaded\n(it might not be playing), loading, or preloaded. You can also get an ordered\nlist of all the items in the queue. The\n[`GCKMediaStatus`](/cast/docs/reference/ios/interface_g_c_k_media_status)\nclass provides this status information:\n\n- [`preloadedItemID`](/cast/docs/reference/ios/interface_g_c_k_media_status#aca544cb983806b859c0d62c6e1438150) property - The ID of the item that is currently preloaded, if any.\n- [`loadingItemID`](/cast/docs/reference/ios/interface_g_c_k_media_status#a0676da67792f35cbea8de2bc9015b05d) property - The ID of the item that is currently loading,\n- [`currentItemID`](/cast/docs/reference/ios/interface_g_c_k_media_status#a1818b62cd378f6648d06042dce494c58) property - The ID of the current queue item, if any.\n- [`queueItemCount`](/cast/docs/reference/ios/interface_g_c_k_media_status#a2ba0ff0a3da66b18520c2858388bc58d) method - Returns the number of items in the playback queue.\n- [`queueItemAtIndex`](/cast/docs/reference/ios/interface_g_c_k_media_status#ad1417e02dca50f0cfd5841c614bd41fa) method - Returns the item at the specified index in the playback queue.\n\nUse these members together with the other media status members to inform your\napp about the status of the queue and the items in the queue. In addition to\nmedia status updates from the Web Receiver, you can listen for changes to the\nqueue by implementing `-[remoteMediaClientDidUpdateQueue:]` of the\n[`GCKRemoteMediaClientListener`](/cast/docs/reference/ios/protocol_g_c_k_remote_media_client_listener-p).\n| **Note:** To provide the best user experience, the sender app must show the next autoplay item in the queue in the sender UI.\n\nEdit the queue\n--------------\n\nTo work with the items in the queue, use the queue methods of\n[`GCKRemoteMediaClient`](/cast/docs/reference/ios/interface_g_c_k_remote_media_client).\nyou have several APIs. These let you load an array of items into a new queue,\ninsert items into an existing queue, update the properties of items in the\nqueue, make an item jump forward or backward in the queue, set the properties of\nthe queue itself (for example, change the `repeatMode` that selects the next\nitem), remove items from the queue, and reorder the items in the queue."]]