Cast 프레임워크는 웹 수신기에서 순차적으로 재생할 콘텐츠 항목(예: 동영상 또는 오디오 스트림)의 목록 생성을 지원하는 대기열 API를 제공합니다. 콘텐츠 항목의 큐는 편집, 재정렬, 업데이트 등을 할 수 있습니다.

웹 수신기 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];

GCKRemoteMediaClient 클래스의 적절한 queueLoadItems 메서드를 사용하여 대기열에 미디어 대기열 항목의 배열을 로드합니다.

미디어 대기열 상태 업데이트 수신

웹 수신기는 미디어 대기열 항목을 로드할 때 세션 시간 (및 대기열의 수명) 동안 지속되는 항목에 고유 ID를 할당합니다. 현재 로드 중인 항목(재생 중이 아닐 수 있음), 로드 중 또는 미리 로드된 항목을 나타내는 큐의 상태를 확인할 수 있습니다. 큐에 있는 모든 항목의 순서가 지정된 목록을 가져올 수도 있습니다. GCKMediaStatus 클래스는 다음 상태 정보를 제공합니다.

  • preloadedItemID 속성 - 현재 미리 로드된 상품의 ID(있는 경우)입니다.
  • loadingItemID 속성 - 현재 로드 중인 항목의 ID
  • currentItemID 속성 - 현재 큐 항목의 ID입니다(있는 경우).
  • queueItemCount 메서드: 재생 목록의 항목 수를 반환합니다.
  • queueItemAtIndex 메서드 - 재생 대기열에서 지정된 색인에 있는 항목을 반환합니다.

이러한 멤버를 다른 미디어 상태 멤버와 함께 사용하여 큐의 상태와 큐의 항목을 앱에 알립니다. 웹 수신기의 미디어 상태 업데이트 외에도 GCKRemoteMediaClientListener-[remoteMediaClientDidUpdateQueue:]를 구현하여 대기열 변경사항을 수신 대기할 수 있습니다.

대기열 수정

큐의 항목으로 작업하려면 GCKRemoteMediaClient의 큐 메서드를 사용합니다. 여러 API가 있습니다 이를 통해 항목 배열을 새 큐에 로드하고, 항목을 기존 큐에 삽입하고, 큐의 항목 속성을 업데이트하고, 항목이 큐에서 앞뒤로 이동하도록 하고, 큐 자체의 속성을 설정하고 (예: 다음 항목을 선택하는 repeatMode 변경), 큐에서 항목을 삭제하고, 큐의 항목의 순서를 변경할 수 있습니다.