콘텐츠가 웹 수신기로 전송되는 경우 사용자는 항상 전송자 앱에서 콘텐츠를 제어할 수 있어야 합니다.
참고: Google Cast SDK 추가 개발자 서비스 약관에 따라 Cast 미디어 애플리케이션은 SDK에 정의된 재생 제어 API (미디어 재생 메시지)를 사용하여 웹 수신기에서 미디어 재생을 제어해야 합니다.
전송자 앱은 다음 영역에 Cast 제어 기능을 제공해야 합니다.
이러한 영역에서 전송자 앱의 Cast 재생 상태와 컨트롤은 전송자 앱에서 시작되지 않은 경우에도 웹 수신기에서 발생하는 재생 변경사항과 동기화되어야 합니다. 이렇게 하면 다중 전송자 명령과 기기의 리모컨, 버튼 등에서 오는 재생 컨트롤을 모두 적절하게 처리할 수 있습니다.
Android
Cast 대화상자 컨트롤

미니 컨트롤러

알림 관리

화면 잠금 컨트롤

iOS
Cast 대화상자 컨트롤

미니 컨트롤러

Chrome
Cast 대화상자 컨트롤

미니 컨트롤러

발신자 볼륨 컨트롤
전송자 앱은 사용자가 전송 기기의 하드웨어 볼륨 버튼 또는 소프트웨어 볼륨 슬라이더를 사용하여 TV나 스피커에서 재생되는 콘텐츠의 볼륨을 제어할 수 있도록 허용해야 합니다. 다음 중 하나를 제어합니다.
- Chromecast와 같은 Google Cast 기기에 TV로 전송되는 오디오 수준입니다.
- Google Cast TV, Android TV가 내장된 TV, 스마트 스피커의 실제 기본 TV/스피커 볼륨입니다.
필수
A 전송 앱은 사용자가 전송 기기의 하드웨어 볼륨 버튼 및/또는 소프트웨어 볼륨 슬라이더를 사용하여 TV 또는 스피커에서 재생되는 콘텐츠의 볼륨을 제어할 수 있도록 허용해야 합니다.
- Android: 하드웨어 버튼과 소프트웨어 볼륨 슬라이더를 모두 지원해야 합니다.
- iOS: 소프트웨어 볼륨 슬라이더는 필수입니다.
- 웹/Chrome: 소프트웨어 볼륨 슬라이더 지원은 필수입니다.
B 휴대기기에서 소프트웨어 볼륨 슬라이더는 전송하는 동안 전송 대화상자에서 사용할 수 있어야 합니다.
C 전송자 앱의 볼륨 슬라이더는 Web Receiver에 연결된 후 현재 Web Receiver 볼륨과 동기화되어야 하며 동기화된 상태를 유지해야 합니다.
D 전송자 앱의 볼륨 슬라이더는 다른 전송자 또는 Chromecast 앱 리모컨에서 변경한 볼륨을 반영해야 합니다.
E 전송자 앱은 볼륨을 미리 정의된 수준으로 설정해서는 안 되며 사용자 시작 볼륨 변경사항만 전달해야 합니다.
F Android만 해당: 하드웨어 버튼을 사용하여 웹 수신기의 볼륨 수준을 변경할 때 하드웨어 볼륨 버튼을 누르면 시각적 볼륨 슬라이더 (왼쪽에 Cast 아이콘이 있음)가 표시되어야 합니다. 참고: Android Gingerbread(버전 2.3)에서는 전송 아이콘이 표시되지 않습니다.
권장사항
- 볼륨 증가:
- Android: 프레임워크가 볼륨을 자동으로 증가시킵니다.
- iOS 및 Chrome: 하드웨어 볼륨 버튼의 경우 오디오/동영상 기기의 웹 수신기 기기 전체 볼륨 범위의 5% 이하 증분과 오디오 전용 기기의 웹 수신기 기기 전체 볼륨 범위의 2% 증분을 사용합니다.
발신자 확장 컨트롤러
발신기 앱은 전송 중인 콘텐츠에 관한 확장 컨트롤러를 제공해야 합니다.
필수
A 콘텐츠 제목이나 아트를 표시하여 전송 중인 콘텐츠를 식별합니다.
B 재생이 시작되기 전에 로드 표시기와 콘텐츠 제목 또는 아트를 표시합니다.
C 콘텐츠가 시작되면 웹 수신기 상태를 식별합니다.
D 관련 관리 기능을 제공합니다.
E 탐색 막대의 왼쪽 끝에 현재 재생 시간을 표시합니다.
오른쪽 끝에 스트림의 총 재생 시간을 표시합니다(알고 있고 실시간 스트림이 아닌 경우).
F 전송과 관련이 없는 컨트롤을 숨깁니다.
G 사용자가 확장된 컨트롤러에서 벗어날 때 전송을 연결 해제하거나 중지하지 않습니다.
H 사용자가 다른 곳으로 이동할 때 확장된 컨트롤러로 쉽게 돌아갈 수 있는 방법을 제공합니다.
권장사항
- 미디어 스트림의 재생 위치 슬라이더를 제공합니다.
- 의미 있는 콘텐츠 관련 아트워크와 메타데이터를 표시합니다.
- 미디어 스트림의 경과 시간과 콘텐츠 재생 시간을 식별합니다.
Android
발신자 콘텐츠 로드

리시버 콘텐츠 로드

전송자 콘텐츠 재생

콘텐츠를 재생하는 웹 수신기

iOS
발신자 콘텐츠 로드

Web Receiver 콘텐츠 로드

전송자 콘텐츠 재생

콘텐츠를 재생하는 웹 수신기

Chrome
발신자 콘텐츠 로드

Web Receiver 콘텐츠 로드

전송자 콘텐츠 재생

콘텐츠를 재생하는 웹 수신기

발신자 미니 컨트롤러
사용자가 현재 콘텐츠 페이지 또는 확장 컨트롤러에서 발신기 앱 내의 다른 뷰로 이동하면 전송 중에 미니 컨트롤러라고 하는 작고 지속적인 컨트롤이 표시되어야 합니다. 미니 컨트롤러는 현재 전송을 시각적으로 알려주며 즉시 액세스할 수 있도록 합니다.
필수
A 전송 중인 항목을 표시하는 막대 또는 상자가 전송자 앱 하단 근처에 표시됩니다. 이러한 컨트롤은 사용자가 앱의 다른 콘텐츠나 섹션을 탐색하는 동안 지속됩니다.
B 컨트롤은 간단하고 전송 중인 항목을 전달할 때 가장 잘 작동합니다.
C 확장된 컨트롤러 페이지를 제외한 앱의 모든 화면에서 사용할 수 있습니다.
D 콘텐츠 영역을 탭하면 컨트롤러가 펼쳐집니다.
E 즉각적인 조치와 관련된 기타 컨트롤을 제공합니다.
권장사항
최적의 사용자 환경을 위해 미니 컨트롤러 외에도 전송 대화상자에 컨트롤을 제공하세요.
Android
발신자 미니 컨트롤러

Web Receiver 콘텐츠가 일시중지됨

iOS
발신자 미니 컨트롤러

Web Receiver 콘텐츠가 일시중지됨

Chrome
발신자 미니 컨트롤러

Web Receiver 콘텐츠가 일시중지됨

발신자 알림
필수 (Android만 해당)
A 상태 표시줄의 알림에 앱 아이콘 (전송 아이콘 아님)을 사용합니다.
B 전송 중인 콘텐츠를 식별합니다. 예를 들어 콘텐츠 제목이나 아트를 표시합니다.
C 어떤 웹 수신기가 전송 중인지 확인합니다.
D 기본 콘텐츠 컨트롤을 제공합니다.
E 작업 행에서 전송을 중지하고 웹 수신기에서 연결을 해제하려면 'X'를 제공합니다.
F 앱 로고, 콘텐츠 제목 또는 아트를 탭하면 전송자 앱의 확장 컨트롤러가 열려야 합니다.
참고
- Android만 해당: iOS 또는 Chrome에서는 알림을 구현할 수 없습니다.
- Android 진저브레드 (버전 2.3)에서는 알림에 앱 아이콘과 텍스트만 표시되고 재생/일시중지 또는 중지는 표시되지 않습니다.
- 자세한 내용은 알림에 미디어 컨트롤 추가를 참고하세요.
Android
발신자 알림 아이콘

콘텐츠를 재생하는 웹 수신기

발신자 알림 관리

콘텐츠를 재생하는 웹 수신기

발신자 잠금 화면
필수 (Android만 해당)
A 콘텐츠 제목 또는 아트를 사용하여 콘텐츠 전송을 식별합니다.
B 어떤 웹 수신기가 전송 중인지 확인합니다. 음악 앱에는 필요하지 않습니다.
C 재생 컨트롤을 제공합니다.
D 하드웨어 버튼을 통해 볼륨 컨트롤에 액세스할 수 있도록 합니다.
Android 4.4 KitKat 이상 버전의 경우 필수:
- 앱 아이콘
- 아트워크 (예: 앨범 커버)
- 텍스트에서 전송 중인 콘텐츠를 식별합니다 (예: 'Tears of Steel').
- 어떤 웹 수신기가 전송 중인지 확인합니다 (예: '거실').
Android 4.3(Jelly Bean)에 필요:
- 아트워크 (예: 앨범 커버)
- 텍스트에서 전송 중인 콘텐츠를 식별합니다 (예: 'Tears of Steel').
- 어떤 웹 수신기가 전송 중인지 확인합니다 (예: '거실').
참고
- Android만 해당: iOS 또는 Chrome에서는 알림을 구현할 수 없습니다.
- 잠금 화면 컨트롤은 Android 4.1 이상 버전에서 필요합니다.
- Android 운영체제 버전에 따라 다른 제어 기능을 사용할 수 있으며 잠금 화면에는 텍스트 필드만 표시할 수 있습니다. 일반적으로 그래픽과 아이콘은 텍스트보다 콘텐츠를 더 즉각적으로 설명합니다.
- 휴대전화가 잠겨 있을 때 볼륨 제어 하드웨어 버튼은 전송자 앱의 볼륨을 조정해야 합니다.
- 이 컨트롤은 프레임워크 구성요소
MediaSession
또는MediaSessionCompat
(버전 4.4 및 4.3의 경우) 또는Notification
(5.0 이상의 경우)을 사용해야 합니다.
Android
전송자 잠금 화면 컨트롤

콘텐츠를 재생하는 웹 수신기

발신자가 전송을 재개합니다.
연결된 전송자 앱은 암시적 연결 해제 (예: 네트워크 중단, 기기 절전 모드, 배터리 부족) 후 연결된 상태를 복원해야 합니다.
필수
전송자 앱이 암시적으로 연결 해제되는 경우 (사용자가 명시적으로 전송을 중지하거나 연결을 해제하지 않음) 웹 수신기에서 전송 콘텐츠가 계속 재생되어야 합니다. 앱 또는 연결이 다시 시작되면 Web Receiver 세션이 여전히 현재 상태인 한 전송자 앱은 Web Receiver에 대한 연결을 복원해야 합니다.
B Cast 버튼이 연결된 상태로 복원되어야 합니다.
C 사용자가 전송자가 다시 연결되기 전에 전송 버튼을 탭하면 웹 수신기 기기 목록이 표시됩니다. 사용자가 현재 전송 중인 Web Receiver를 선택하면 발신자 앱에 미니 또는 확장 컨트롤러가 표시되어야 합니다.
참고
정전이나 컨텍스트에서 벗어난 기타 중단으로 인해 웹 수신기 앱이 연결 해제되고 실행이 중지될 수도 있습니다. 이는 전송자가 전송을 중지함에 설명된 대로 일반 세션 종료로 처리됩니다.
Android
앱 선택

콘텐츠를 재생하는 웹 수신기

Cast 연결 복원됨

콘텐츠를 재생하는 웹 수신기

iOS
앱 선택

콘텐츠를 재생하는 웹 수신기

Cast 연결 복원됨

콘텐츠를 재생하는 웹 수신기

발신자가 전송을 중지함
TV로 전송된 콘텐츠는 사용자가 전송 중지를 선택하거나 발신자가 새로운 콘텐츠를 전송할 때까지 계속 재생됩니다. 여러 발신자가 동일한 웹 수신기에 연결된 경우 각 발신자 앱에는 전송 대화상자에 '전송 중지' 버튼 대신 '연결 해제' 버튼이 있어야 합니다.
필수
여러 발신자가 웹 수신기에 연결된 경우 한 발신자 앱에서 전송 중지를 누르면 웹 수신기에 아무런 영향을 미치지 않으며 해당 발신자 기기에서 전송 제어 및 알림이 삭제됩니다. 연결된 나머지 전송 기기는 Cast 컨트롤을 사용할 수 있는 상태로 연결되어 있습니다.
B 발신자 앱이 암시적으로 연결이 해제되면 (예: 발신자 기기 배터리가 방전되거나 발신자 기기의 웹 수신기 네트워크 연결이 끊김) 웹 수신기에 아무런 영향을 미치지 않으며 발신자 기기에서 전송 제어 및 알림이 삭제됩니다. 전송자 앱은 암시적 연결 해제를 추적하고 전송자 앱이 다시 열리면 Web Receiver에 다시 연결하려고 시도해야 합니다.
Android
전송 대화상자, 연결 해제 버튼

콘텐츠를 재생하는 웹 수신기

iOS
전송 대화상자, 연결 해제 버튼

콘텐츠를 재생하는 웹 수신기

Chrome
전송 대화상자, 연결 해제 버튼

콘텐츠를 재생하는 웹 수신기

이 설계 가이드에 사용된 이미지는 Blender Foundation에서 제공하며 저작권 또는 크리에이티브 커먼즈 라이선스에 따라 공유됩니다.
- Elephant's Dream: (c) copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org
- Sintel: (c) copyright Blender Foundation | www.sintel.org
- Tears of Steel: (CC) Blender Foundation | mango.blender.org
- Big Buck Bunny: (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org