GCKUIMediaController 클래스

GCKUIMediaController 클래스 참조

개요

Cast 수신기에서 미디어 재생 상태를 제어하거나 표시하는 데 사용되는 UI 보기용 컨트롤러입니다.

호출하는 애플리케이션은 적절한 속성을 설정하여 컨트롤러에 미디어 관련 UI 컨트롤을 등록합니다. 그러면 컨트롤러는 수신기에 적절한 미디어 명령어를 발행하여 컨트롤의 터치 이벤트에 응답하고, 수신기에서 수신한 미디어 메타데이터와 상태 정보를 기반으로 컨트롤을 업데이트합니다. 컨트롤러는 현재 세션 및 미디어 플레이어 상태에 맞게 UI 컨트롤을 자동으로 사용 설정 및 사용 중지합니다. 또한 요청이 진행되는 동안 모든 컨트롤이 사용 중지됩니다.

위임 프로토콜은 GCKUIMediaControllerDelegate를 참고하세요.

다음 이후:
3.0

NSObject를 상속합니다.

인스턴스 메서드 요약

(instancetype) - init
 인스턴스를 초기화합니다. 더보기...
 
(void) - bindLabel:toMetadataKey:
 UILabel을 메타데이터 키에 바인딩합니다. 더보기...
 
(void) - bindLabel:toMetadataKey:withFormatter:
 UILabel을 메타데이터 키에 바인딩합니다. 더보기...
 
(void) - bindTextView:toMetadataKey:
 UITextView를 메타데이터 키에 바인딩합니다. 더보기...
 
(void) - bindTextView:toMetadataKey:withFormatter:
 UITextView를 메타데이터 키에 바인딩합니다. 더보기...
 
(void) - bindImageView:toImageHints:
 UIImageViewGCKUIImageHints 인스턴스에 바인딩합니다. 더보기...
 
(void) - bindControlView:toRewindForTime:
 UIControl를 바인딩하여 전달된 값(초)으로 현재 항목의 재생을 되감습니다. 더보기...
 
(void) - bindControlView:toForwardForTime:
 현재 항목의 재생을 전달된 값을 초 단위로 전달하도록 UIControl를 바인딩합니다. 더보기...
 
(void) - unbindView:
 지정된 뷰의 바인딩을 해제합니다. 더보기...
 
(void) - unbindAllViews
 결합된 모든 뷰의 바인딩을 해제합니다. 더보기...
 
(GCKMediaRepeatMode- cycleRepeatMode
 대기열의 반복 모드를 주기의 다음 모드로 변경합니다(More...
).
 
(void) - selectTracks
 미디어 트랙 선택 UI를 표시하는 편리한 메서드입니다. 더보기...
 
(void) - skipAd
 광고 건너뛰기 요청을 전송하고 모니터링합니다. 더보기...
 

속성 요약

id< GCKUIMediaControllerDelegatedelegate
 GCKUIMediaController에서 알림을 받기 위한 대리인입니다. 더보기...
 
GCKSessionsession
 이 컨트롤러와 연결된 세션입니다. 더보기...
 
BOOL mediaLoaded
 수신기에 현재 로드되어 있는 (또는 로드 중인) 미디어가 있는지 여부. 더보기...
 
BOOL hasCurrentQueueItem
 대기열에 현재 항목이 있는지 여부. 더보기...
 
BOOL hasLoadingQueueItem
 큐에 미리 로드 중인 항목이 있는지 여부입니다. 더보기...
 
GCKMediaPlayerState lastKnownPlayerState
 알려진 최신 미디어 플레이어 상태입니다. 더보기...
 
NSTimeInterval lastKnownStreamPosition
 알려진 최신 미디어 스트림 위치입니다. 더보기...
 
UIButton * playButton
 '재생' 버튼 더보기...
 
UIButton * pauseButton
 '일시중지' 버튼 더보기...
 
GCKUIMultistateButtonplayPauseToggleButton
 '재생/일시중지' 전환 버튼 더보기...
 
GCKUIPlayPauseToggleControllerplayPauseToggleController
 '재생/일시중지' 전환 컨트롤러 더보기...
 
UIButton * stopButton
 '중지' 버튼 더보기...
 
UIButton * forward30SecondsButton
 현재 재생 중인 미디어 항목에서 30초 앞으로 이동하는 버튼 더보기...
 
UIButton * rewind30SecondsButton
 현재 재생 중인 미디어 항목에서 30초 뒤로 이동하는 버튼 더보기...
 
UIButton * pauseQueueButton
 현재 항목의 재생이 완료되면 대기열 재생을 일시중지하는 버튼입니다. 더보기...
 
UIButton * nextButton
 '다음' 버튼 더보기...
 
UIButton * previousButton
 '이전' 버튼 더보기...
 
GCKUIMultistateButtonrepeatModeButton
 사용 가능한 대기열 반복 모드를 순환하는 버튼입니다. 더보기...
 
UISlider * streamPositionSlider
 현재 스트림 위치를 표시하고 변경하기 위한 슬라이더입니다. 더보기...
 
UIProgressView * streamProgressView
 현재 스트림 진행 상황을 표시하는 뷰입니다. 더보기...
 
UILabel * streamPositionLabel
 현재 스트림 위치를 분 및 초 단위로 표시하는 라벨입니다. 더보기...
 
UILabel * streamDurationLabel
 현재 스트림 길이를 분 및 초 단위로 표시하는 라벨입니다. 더보기...
 
UILabel * streamTimeRemainingLabel
 남은 스트리밍 시간 (길이에서 위치를 뺀 값)을 분 및 초 단위로 표시하는 라벨입니다. 더보기...
 
GCKUIStreamPositionControllerstreamPositionController
 스트림 포지션 컨트롤러입니다. 더보기...
 
GCKUIPlaybackRateControllerplaybackRateController
 스트림 재생 속도 컨트롤러입니다. 더보기...
 
BOOL displayTimeRemainingAsNegativeValue
 남은 스트림 시간을 음수 값으로 표시할지 여부입니다(예: '-1:23:45'). 더보기...
 
BOOL hideStreamPositionControlsForLiveContent
 실시간 콘텐츠에서 스트림 위치 컨트롤 (스트림 위치 슬라이더, 스트림 위치 라벨, 스트림 길이 라벨, 스트림 진행률 보기 포함)을 숨겨야 하는지 여부입니다. 더보기...
 
UIButton * tracksButton
 오디오 트랙 또는 자막을 선택하는 버튼입니다. 더보기...
 
UILabel * smartSubtitleLabel
 현재 로드된 미디어의 자막을 표시하기 위한 라벨입니다. 더보기...
 
UIActivityIndicatorView * mediaLoadingIndicator
 미디어가 로드 상태임을 나타내는 활동 표시기 뷰. 더보기...
 
UILabel * skipAdLabel
 광고를 건너뛸 수 있을 때까지 남은 시간을 표시하는 라벨입니다. 더보기...
 
UIButton * skipAdButton
 현재 광고를 건너뛰는 버튼 더보기...
 

메서드 세부정보

- (instancetype) init

인스턴스를 초기화합니다.

- (void) bindLabel: (UILabel *)  label
toMetadataKey: (NSString *)  key 

UILabel을 메타데이터 키에 바인딩합니다.

뷰에는 해당 메타데이터 필드의 현재 값이 표시됩니다.

사전 정의된 메타데이터 키 목록은 GCKMediaMetadata를 참조하세요.

Parameters
labelThe UILabel that will display the value.
keyThe metadata key.
- (void) bindLabel: (UILabel *)  label
toMetadataKey: (NSString *)  key
withFormatter: (GCKUIValueFormatter formatter 

UILabel을 메타데이터 키에 바인딩합니다.

뷰에는 해당 메타데이터 필드의 현재 값이 표시됩니다.

사전 정의된 메타데이터 키 목록은 GCKMediaMetadata를 참조하세요.

Parameters
labelThe UILabel that will display the value.
keyThe metadata key.
formatterA block that will produce the desired string representation of the value.
- (void) bindTextView: (UITextView *)  textView
toMetadataKey: (NSString *)  key 

UITextView를 메타데이터 키에 바인딩합니다.

뷰에는 해당 메타데이터 필드의 현재 값이 표시됩니다.

사전 정의된 메타데이터 키 목록은 GCKMediaMetadata를 참조하세요.

Parameters
textViewThe UITextView that will display the value.
keyThe metadata key.
- (void) bindTextView: (UITextView *)  textView
toMetadataKey: (NSString *)  key
withFormatter: (GCKUIValueFormatter formatter 

UITextView를 메타데이터 키에 바인딩합니다.

뷰에는 해당 메타데이터 필드의 현재 값이 표시됩니다.

사전 정의된 메타데이터 키 목록은 GCKMediaMetadata를 참조하세요.

Parameters
textViewThe UITextView that will display the value.
keyThe metadata key.
formatterA block that will produce the desired string representation of the value.
- (void) bindImageView: (UIImageView *)  imageView
toImageHints: (GCKUIImageHints *)  imageHints 

UIImageViewGCKUIImageHints 인스턴스에 바인딩합니다.

현재 설치된 GCKUIImagePicker는 뷰의 메타데이터에서 이미지를 선택하는 데 사용됩니다.

Parameters
imageViewThe UIImageView that will display the selected image.
imageHintsThe image hints.
- (void) bindControlView: (UIControl *)  control
toRewindForTime: (NSTimeInterval)  rewindSeconds 

UIControl를 바인딩하여 전달된 값(초)으로 현재 항목의 재생을 되감습니다.

뷰가 GCKCastSession 상태, 원격 재생 상태, 라이브 스트림 여부에 따라 업데이트됩니다. 타겟도 UIControl에 추가되어 UIControlEventTouchUpInside 이벤트를 캡처합니다. UIControl에 이 유형의 대상을 추가하지 마세요. 이벤트를 캡처하려면 GCKUIMediaControllerDelegate 메서드를 대신 사용하세요.

Parameters
controlThe UI element that the user interacts with. Typically this would be an instance of UIButton.
rewindSecondsThe number of seconds to rewind the media.
- (void) bindControlView: (UIControl *)  control
toForwardForTime: (NSTimeInterval)  forwardSeconds 

현재 항목의 재생을 전달된 값을 초 단위로 전달하도록 UIControl를 바인딩합니다.

뷰가 GCKCastSession 상태, 원격 재생 상태, 라이브 스트림 여부에 따라 업데이트됩니다. 타겟도 UIControl에 추가되어 UIControlEventTouchUpInside 이벤트를 캡처합니다. UIControl에 이 유형의 대상을 추가하지 마세요. 이벤트를 캡처하려면 GCKUIMediaControllerDelegate 메서드를 대신 사용하세요.

Parameters
controlThe UI element that the user interacts with. Typically this would be an instance of UIButton.
forwardSecondsThe number of seconds to skip the media.
- (void) unbindView: (UIView *)  view

지정된 뷰의 바인딩을 해제합니다.

Parameters
viewThe view to unbind.
- (void) unbindAllViews

결합된 모든 뷰의 바인딩을 해제합니다.

- (GCKMediaRepeatMode) cycleRepeatMode

대기열의 반복 모드를 주기의 다음 모드로 변경합니다.

GCKMediaRepeatModeOffGCKMediaRepeatModeAllGCKMediaRepeatModeSingleGCKMediaRepeatModeAllAndShuffle

반환 값
새로운 반복 모드입니다.
- (void) selectTracks

미디어 트랙 선택 UI를 표시하는 편리한 메서드입니다.

- (void) skipAd

광고 건너뛰기 요청을 전송하고 모니터링합니다.

다음 이후:
4.3

부동산 세부정보

- (id<GCKUIMediaControllerDelegate>) delegate
readwritenonatomicweak

GCKUIMediaController에서 알림을 받기 위한 대리인입니다.

- (GCKSession*) session
readnonatomicstrong

이 컨트롤러와 연결된 세션입니다.

- (BOOL) mediaLoaded
readnonatomicassign

수신기에 현재 로드되어 있는 (또는 로드 중인) 미디어가 있는지 여부.

활성화된 전송 세션이 없으면 NO입니다.

- (BOOL) hasCurrentQueueItem
readnonatomicassign

대기열에 현재 항목이 있는지 여부.

- (BOOL) hasLoadingQueueItem
readnonatomicassign

큐에 미리 로드 중인 항목이 있는지 여부입니다.

- (GCKMediaPlayerState) lastKnownPlayerState
readnonatomicassign

알려진 최신 미디어 플레이어 상태입니다.

활성화된 전송 세션이 없으면 마지막 세션이 종료되기 직전의 플레이어 상태가 됩니다. 이전 세션이 없으면 GCKMediaPlayerStateUnknown입니다.

- (NSTimeInterval) lastKnownStreamPosition
readnonatomicassign

알려진 최신 미디어 스트림 위치입니다.

활성화된 전송 세션이 없으면 마지막 세션이 종료되기 직전의 미디어 스트림 위치가 됩니다. 이전 세션이 없으면 kGCKInvalidTimeInterval입니다.

- (UIButton*) playButton
readwritenonatomicweak

'재생' 버튼

버튼을 탭하면 수신기에서 현재 로드된 미디어의 재생이 시작되거나 다시 시작됩니다. 재생이 이미 진행 중이거나 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없는 경우 버튼이 사용 중지됩니다.

- (UIButton*) pauseButton
readwritenonatomicweak

'일시중지' 버튼

버튼을 탭하면 현재 로드된 미디어의 재생이 수신기에서 일시중지됩니다. 현재 로드된 미디어가 일시중지를 지원하지 않거나, 현재 재생이 진행 중이 아니거나, 현재 로드된 미디어가 없거나, 현재 활성화된 전송 세션이 없는 경우 버튼이 사용 중지됩니다.

- (GCKUIMultistateButton*) playPauseToggleButton
readwritenonatomicweak

'재생/일시중지' 전환 버튼

호출자는 버튼의 GCKUIButtonStatePlay, GCKUIButtonStatePlayLive, GCKUIButtonStatePause 버튼 상태에 적합한 아이콘을 설정해야 합니다. 즉, 재생 상태를 나타내는 '일시중지' 아이콘, 실시간 재생을 위한 '중지' 아이콘, 일시중지 상태를 위한 '재생' 아이콘을 설정해야 합니다. 버튼 상태는 수신기의 현재 재생 상태를 반영하도록 자동으로 업데이트됩니다. 버튼을 탭하면 현재 로드된 미디어의 재생이 수신기에서 일시중지되거나 다시 시작됩니다. 현재 로드된 미디어가 일시중지를 지원하지 않거나 재생이 현재 진행 중이거나 일시중지되지 않은 경우, 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없는 경우 버튼이 사용 중지됩니다.

- (GCKUIPlayPauseToggleController*) playPauseToggleController
readwritenonatomicstrong

'재생/일시중지' 전환 컨트롤러

애플리케이션에서 제공하는 맞춤 재생/일시중지 전환 UI의 대기 모드로 사용됩니다. 자세한 내용은 GCKUIPlayPauseToggleController을 참조하세요.

다음 이후:
3.4
- (UIButton*) stopButton
readwritenonatomicweak

'중지' 버튼

버튼을 탭하면 현재 로드된 미디어의 재생이 수신기에서 중지됩니다. 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없으면 버튼이 사용 중지됩니다.

- (UIButton*) forward30SecondsButton
readwritenonatomicweak

현재 재생 중인 미디어 항목에서 30초 앞으로 이동하는 버튼

현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없으면 버튼이 사용 중지됩니다.

- (UIButton*) rewind30SecondsButton
readwritenonatomicweak

현재 재생 중인 미디어 항목에서 30초 뒤로 이동하는 버튼

현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없으면 버튼이 사용 중지됩니다.

- (UIButton*) pauseQueueButton
readwritenonatomicweak

현재 항목의 재생이 완료되면 대기열 재생을 일시중지하는 버튼입니다.

- (UIButton*) nextButton
readwritenonatomicweak

'다음' 버튼

버튼을 탭하면 재생이 대기열의 다음 미디어 항목으로 이동합니다. 이 작업이 지원되지 않거나 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없으면 버튼이 사용 중지됩니다.

- (UIButton*) previousButton
readwritenonatomicweak

'이전' 버튼

버튼을 탭하면 재생이 대기열의 이전 미디어 항목으로 이동합니다. 이 작업이 지원되지 않거나 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없으면 버튼이 사용 중지됩니다.

- (GCKUIMultistateButton*) repeatModeButton
readwritenonatomicweak

사용 가능한 대기열 반복 모드를 순환하는 버튼입니다.

(GCKMediaRepeatMode 참고) 호출자는 버튼의 GCKUIButtonStateRepeatOff, GCKUIButtonStateRepeatSingle, GCKUIButtonStateRepeatAll, GCKUIButtonStateShuffle 버튼 상태에 적절한 아이콘을 설정해야 합니다. 버튼 상태는 수신기의 현재 큐 반복 모드를 반영하도록 자동으로 업데이트됩니다. 버튼을 탭하면 다음 반복 모드로 전환됩니다.

GCKMediaRepeatModeOffGCKMediaRepeatModeAllGCKMediaRepeatModeSingleGCKMediaRepeatModeAllAndShuffle

현재 활성화된 전송 세션이 없으면 버튼이 사용 중지됩니다.

- (UISlider*) streamPositionSlider
readwritenonatomicweak

현재 스트림 위치를 표시하고 변경하기 위한 슬라이더입니다.

사용자가 슬라이더의 값을 변경하면 현재 로드된 미디어의 스트림 위치가 수신기에서 업데이트됩니다. 수신기에서 미디어 재생이 진행되는 동안 슬라이더의 값은 현재 스트림 위치를 반영하도록 실시간으로 업데이트됩니다. 현재 로드된 미디어가 탐색을 지원하지 않거나 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없으면 슬라이더가 사용 중지됩니다.

- (UIProgressView*) streamProgressView
readwritenonatomicweak

현재 스트림 진행 상황을 표시하는 뷰입니다.

수신기에서 미디어 재생이 진행되는 동안 뷰의 값이 실시간으로 업데이트되어 현재 스트림 위치를 반영합니다. 현재 로드된 미디어가 라이브 스트림이거나 현재 로드된 미디어가 없거나 현재 활성 상태인 전송 세션이 없는 경우 뷰가 사용 중지됩니다.

- (UILabel*) streamPositionLabel
readwritenonatomicweak

현재 스트림 위치를 분 및 초 단위로 표시하는 라벨입니다.

현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없는 경우 라벨에 '--:--'로 현지화된 형식으로 표시됩니다.

- (UILabel*) streamDurationLabel
readwritenonatomicweak

현재 스트림 길이를 분 및 초 단위로 표시하는 라벨입니다.

현재 로드된 미디어에 지속 시간이 없는 경우 (예: 실시간 스트림인 경우) 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없는 경우 라벨에 '--:--'의 현지화된 형식이 표시됩니다.

- (UILabel*) streamTimeRemainingLabel
readwritenonatomicweak

남은 스트리밍 시간 (길이에서 위치를 뺀 값)을 분 및 초 단위로 표시하는 라벨입니다.

현재 로드된 미디어에 지속 시간이 없는 경우 (예: 실시간 스트림인 경우) 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없는 경우 라벨에 '--:--'의 현지화된 형식이 표시됩니다.

- (GCKUIStreamPositionController*) streamPositionController
readwritenonatomicstrong

스트림 포지션 컨트롤러입니다.

애플리케이션에서 제공하는 맞춤 스트림 위치 및/또는 탐색 UI를 위한 대기 모드로 사용됩니다. 자세한 내용은 GCKUIStreamPositionController을 참조하세요.

다음 이후:
3.4
- (GCKUIPlaybackRateController*) playbackRateController
readwritenonatomicstrong

스트림 재생 속도 컨트롤러입니다.

자세한 내용은 GCKUIPlaybackRateController을 참조하세요.

다음 이후:
4.0
- (BOOL) displayTimeRemainingAsNegativeValue
readwritenonatomicassign

남은 스트림 시간을 음수 값으로 표시할지 여부입니다(예: '-1:23:45').

기본적으로 이 속성은 YES로 설정됩니다.

- (BOOL) hideStreamPositionControlsForLiveContent
readwritenonatomicassign

실시간 콘텐츠에서 스트림 위치 컨트롤 (스트림 위치 슬라이더, 스트림 위치 라벨, 스트림 길이 라벨, 스트림 진행률 보기 포함)을 숨겨야 하는지 여부입니다.

기본값은 NO입니다.

다음 이후:
4.0
- (UIButton*) tracksButton
readwritenonatomicweak

오디오 트랙 또는 자막을 선택하는 버튼입니다.

버튼을 탭하면 미디어 트랙 선택 UI가 사용자에게 표시됩니다. 현재 로드된 미디어에 선택 가능한 미디어 트랙이 없거나 현재 로드된 미디어가 없거나 현재 활성화된 전송 세션이 없는 경우 버튼이 사용 중지됩니다.

- (UILabel*) smartSubtitleLabel
readwritenonatomicweak

현재 로드된 미디어의 자막을 표시하기 위한 라벨입니다.

메타데이터에 명시적으로 설정된 부제목 필드가 없는 경우 미디어 유형에 따라 가장 적합한 메타데이터 필드가 음반사에 표시됩니다(예: 영화의 스튜디오 이름, 음악 트랙의 아티스트 이름).

- (UIActivityIndicatorView*) mediaLoadingIndicator
readwritenonatomicweak

미디어가 로드 상태임을 나타내는 활동 표시기 뷰.

- (UILabel*) skipAdLabel
readwritenonatomicweak

광고를 건너뛸 수 있을 때까지 남은 시간을 표시하는 라벨입니다.

다음 이후:
4.3
- (UIButton*) skipAdButton
readwritenonatomicweak

현재 광고를 건너뛰는 버튼

다음 이후:
4.3