콘텐츠가 웹 수신기로 전송될 때는 사용자는 항상 발신기 앱에서 콘텐츠를 제어할 수 있어야 합니다.
참고: Google Cast SDK 추가 개발자 서비스 약관에 따라 Cast 미디어 애플리케이션은 웹 수신기에서 미디어 재생을 제어하기 위해 SDK에 정의된 재생 컨트롤 API (미디어 재생 메시지)를 사용해야 합니다.
발신기 앱은 다음 영역에 Cast 제어 기능을 제공해야 합니다.
이러한 영역에 걸친 발신기 앱의 Cast 재생 상태 및 컨트롤은 발신기 앱에서 발생한 것이 아니더라도 웹 수신기에서 발생하는 재생 변경사항과 동기화되어야 합니다. 이렇게 하면 다중 발신자 명령어와 기기의 리모컨이나 버튼 등에서 오는 재생 컨트롤을 적절하게 처리할 수 있습니다.
Android
전송 대화상자 컨트롤
![](https://developers.google.cn/static/cast/images/a/sender-cast-menu-active1.png?authuser=8&hl=ko)
미니 컨트롤러
![](https://developers.google.cn/static/cast/images/a/sender-persistent-control1.png?authuser=8&hl=ko)
알림 제어
![](https://developers.google.cn/static/cast/images/a/sender-control-notification1.png?authuser=8&hl=ko)
화면 잠금 컨트롤
![](https://developers.google.cn/static/cast/images/a/sender-control-lockscreen1.png?authuser=8&hl=ko)
iOS
전송 대화상자 컨트롤
![](https://developers.google.cn/static/cast/images/i/sender-cast-menu-active1.png?authuser=8&hl=ko)
미니 컨트롤러
![](https://developers.google.cn/static/cast/images/i/sender-persistent-control1.png?authuser=8&hl=ko)
Chrome
전송 대화상자 컨트롤
![](https://developers.google.cn/static/cast/images/w/sender-cast-menu-active1.jpg?authuser=8&hl=ko)
미니 컨트롤러
![](https://developers.google.cn/static/cast/images/w/sender-persistent-control1.jpg?authuser=8&hl=ko)
발신자 볼륨 제어
발신기 앱에서는 사용자가 송신 기기의 하드웨어 볼륨 버튼 또는 소프트웨어 볼륨 슬라이더를 사용하여 TV나 스피커에서 재생되는 콘텐츠의 볼륨을 제어할 수 있도록 해야 합니다. 이 컨트롤은 다음 중 하나를 제어합니다.
- Chromecast와 같은 Google Cast 기기에서 TV로 전송되는 오디오 음량입니다.
- Google Cast TV, Android TV 내장 TV, 스마트 스피커의 실제 기본 TV/스피커 볼륨입니다.
필수
A 발신기 앱은 사용자가 송신 기기의 하드웨어 볼륨 버튼 또는 소프트웨어 볼륨 슬라이더를 사용하여 TV나 스피커에서 재생되는 콘텐츠의 볼륨을 제어할 수 있도록 해야 합니다.
- Android: 하드웨어 버튼과 소프트웨어 볼륨 슬라이더를 모두 지원해야 합니다.
- iOS: 소프트웨어 볼륨 슬라이더는 필수입니다.
- 웹/Chrome: 소프트웨어 볼륨 슬라이더 지원이 필수입니다.
B 휴대기기에서 전송하는 동안 전송 대화상자에서 소프트웨어 볼륨 슬라이더를 사용할 수 있어야 합니다.
C 발신기 앱의 볼륨 슬라이더는 웹 수신기에 연결한 후 현재 웹 수신기 볼륨과 동기화되고 동기화 상태를 유지해야 합니다.
D 발신기 앱의 볼륨 슬라이더는 다른 발신자 또는 Chromecast 앱 리모컨으로 인해 변경된 볼륨 변경사항을 반영해야 합니다.
E 발신기 앱은 사전 정의된 수준으로 볼륨을 설정해서는 안 되며 사용자가 시작한 볼륨 변경사항만 전달해야 합니다.
F Android 전용: 하드웨어 버튼을 사용하여 웹 수신기의 볼륨 수준을 변경하는 경우 하드웨어 볼륨 버튼을 누르면 시각적 볼륨 슬라이더 (왼쪽에 전송 아이콘 포함)가 표시되어야 합니다. 참고: Android Gingerbread(버전 2.3)의 경우 전송 아이콘이 표시되지 않습니다.
권장사항
- 볼륨 증가:
- Android: 프레임워크가 볼륨을 자동으로 증가시킵니다.
- iOS 및 Chrome: 하드웨어 볼륨 버튼의 경우 오디오/동영상 기기의 경우 웹 수신기 기기의 전체 볼륨 범위의 5% 이하의 증분을 사용하고 오디오 전용 기기의 경우 웹 수신기 기기의 전체 볼륨 범위의 2% 만큼 증가시킵니다.
발신자 확장 컨트롤러
발신기 앱은 전송 중인 콘텐츠를 위한 확장 컨트롤러를 제공해야 합니다.
필수
A 콘텐츠 제목이나 아트워크를 표시하여 전송 중인 콘텐츠를 식별합니다.
B 재생이 시작되기 전에 로드 표시기와 콘텐츠 제목 또는 아트워크를 표시합니다.
C 콘텐츠가 시작되면 웹 수신기 상태를 확인합니다.
D 관련성 높은 제어 기능을 제공합니다.
E 탐색바의 왼쪽 끝에 현재 재생 시간이 표시됩니다.
실시간 스트림이 아닌 경우 오른쪽 끝에 스트림의 총 지속 시간(알려진 경우)을 표시합니다.
F 전송과 관련 없는 컨트롤을 숨깁니다.
G 사용자가 확장된 컨트롤러에서 벗어날 때 전송을 연결 해제하거나 중지하지 마세요.
H 사용자가 페이지에서 나갈 때 확장된 컨트롤러로 쉽게 돌아갈 수 있는 방법을 제공합니다.
권장사항
- 미디어 스트림의 재생 위치 슬라이더를 제공합니다.
- 다른 의미 있는 콘텐츠 관련 아트워크 및 메타데이터를 표시합니다.
- 미디어 스트림의 경과 시간과 콘텐츠 길이를 식별합니다.
Android
발신자 콘텐츠 로드 중
![발신자 콘텐츠 로드 중](https://developers.google.cn/static/cast/images/a/sender-control-elements1_a.png?authuser=8&hl=ko)
수신자 콘텐츠 로드 중
![](https://developers.google.cn/static/cast/images/r/receiver-content-loading1.gif?authuser=8&hl=ko)
발신자 콘텐츠 재생 중
![](https://developers.google.cn/static/cast/images/a/sender-control-elements2_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
iOS
발신자 콘텐츠 로드 중
![](https://developers.google.cn/static/cast/images/i/sender-control-elements1_a.gif?authuser=8&hl=ko)
웹 수신기 콘텐츠 로드 중
![](https://developers.google.cn/static/cast/images/r/receiver-content-loading1.gif?authuser=8&hl=ko)
발신자 콘텐츠 재생 중
![](https://developers.google.cn/static/cast/images/i/sender-control-elements2_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
Chrome
발신자 콘텐츠 로드 중
![](https://developers.google.cn/static/cast/images/w/sender-control-elements1_a.gif?authuser=8&hl=ko)
웹 수신기 콘텐츠 로드 중
![](https://developers.google.cn/static/cast/images/r/receiver-content-loading1.gif?authuser=8&hl=ko)
발신자 콘텐츠 재생 중
![](https://developers.google.cn/static/cast/images/w/sender-control-elements2_a.jpg?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
발신자 미니 컨트롤러
사용자가 전송 중에 현재 콘텐츠 페이지나 확장된 컨트롤러를 발신기 앱 내의 다른 뷰로 이동하면 미니 컨트롤러라고 하는 작고 지속적인 컨트롤이 표시됩니다. 미니 컨트롤러는 현재 전송에 관한 시각적 알림이며 즉시 액세스할 수 있습니다.
필수
A 전송 중인 항목을 표시하는 막대 또는 상자가 발신기 앱 하단에 표시됩니다. 이러한 제어는 사용자가 앱의 다른 콘텐츠나 섹션을 탐색하는 동안 유지됩니다.
B 컨트롤은 단순하고 전송 중인 콘텐츠를 전달할 때 가장 잘 작동합니다.
C 앱의 모든 화면에서 사용할 수 있습니다 (확장 컨트롤러 페이지 제외).
D 콘텐츠 영역을 탭하면 확장 컨트롤러가 열립니다.
E 즉각적인 조치와 관련된 기타 제어 기능을 제공합니다.
권장사항
최상의 사용자 환경을 위해 미니 컨트롤러 외에도 전송 대화상자에서 컨트롤을 제공합니다.
Android
발신기 미니 컨트롤러
![](https://developers.google.cn/static/cast/images/a/sender-persistent-control1_a.png?authuser=8&hl=ko)
웹 수신기 콘텐츠가 일시중지됨
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
iOS
발신기 미니 컨트롤러
![](https://developers.google.cn/static/cast/images/i/sender-persistent-control1_a.png?authuser=8&hl=ko)
웹 수신기 콘텐츠가 일시중지됨
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
Chrome
발신기 미니 컨트롤러
![](https://developers.google.cn/static/cast/images/w/sender-persistent-control1_a.jpg?authuser=8&hl=ko)
웹 수신기 콘텐츠가 일시중지됨
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
발신자 알림
필수 (Android만 해당)
A 상태 표시줄의 알림에 앱 아이콘 (전송 아이콘이 아님)을
사용합니다.
B 전송 중인 콘텐츠를 확인합니다. 예를 들어 디스플레이 콘텐츠 제목이나 아트워크가 있습니다.
C 전송 중인 웹 수신기를 확인합니다.
D 기본적인 콘텐츠 제어 기능을 제공합니다.
E 작업 행에서 전송을 중지하고 웹 수신기와의 연결을 해제하려면 'X'를 입력합니다.
F 앱 로고, 콘텐츠 제목 또는 아트워크를 탭하면 발신기 앱의 확장 컨트롤러가 열립니다.
참고
- Android 전용: iOS 또는 Chrome에서는 알림을 구현할 수 없습니다.
- Android Gingerbread (버전 2.3)에서는 알림에 앱 아이콘과 텍스트만 표시되며 재생/일시중지 또는 중지되지 않습니다.
- 자세한 내용은 알림에 미디어 컨트롤 추가를 참고하세요.
Android
발신자 알림 아이콘
![](https://developers.google.cn/static/cast/images/a/sender-control-notification1_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
발신자 알림 관리
![](https://developers.google.cn/static/cast/images/a/sender-control-notification2_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
발신자 잠금 화면
필수사항 (Android만 해당)
A 콘텐츠 제목 또는 아트워크를 사용하여 전송할 콘텐츠를 식별합니다.
B 전송 중인 웹 수신기를 확인합니다. 음악 앱에는 필요하지 않습니다.
C 재생 컨트롤을 제공합니다.
D 하드웨어 버튼을 통해 볼륨 컨트롤에 액세스하도록 합니다.
Android 4.4 KitKat 이상 버전에 필요한 경우:
- 앱 아이콘
- 아트워크 (예: 앨범 표지)
- 텍스트로 전송 중인 콘텐츠 명시 (예: '강철의 눈물')
- 전송 중인 웹 수신기를 확인합니다 (예: '거실').
Android 4.3 Jelly Bean에 필요한 경우:
- 아트워크 (예: 앨범 표지)
- 텍스트로 전송 중인 콘텐츠 명시 (예: '강철의 눈물')
- 전송 중인 웹 수신기를 확인합니다 (예: '거실').
참고
- Android 전용: iOS 또는 Chrome에서는 알림을 구현할 수 없습니다.
- Android 4.1 이상 버전에서는 잠금 화면 컨트롤이 필요합니다.
- 여러 버전의 Android 운영체제에서 서로 다른 컨트롤을 사용할 수 있으며 잠금 화면은 텍스트 필드만 수용할 수 있습니다. 일반적으로 그래픽과 아이콘은 텍스트보다 콘텐츠를 더 즉각적으로 설명합니다.
- 볼륨 제어 하드웨어 버튼은 휴대전화가 잠겨 있을 때 발신기 앱의 볼륨을 조절해야 합니다.
- 컨트롤은 프레임워크 구성요소
MediaSession
또는MediaSessionCompat
(버전 4.4 및 4.3) 또는Notification
(5.0 이상)를 사용해야 합니다.
Android
발신자 잠금 화면 관리
![](https://developers.google.cn/static/cast/images/a/sender-control-lockscreen1_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
발신자가 전송을 재개함
연결된 발신자 앱은 암시적 연결 해제 (예: 네트워크 중단, 기기 절전 모드 전환, 배터리 소진) 후 연결 상태를 복원해야 합니다.
필수
A 발신기 앱이 암시적으로 연결 해제되는 경우 (사용자가 명시적으로 전송을 중지하거나 연결 해제하지 않은 경우) 전송 콘텐츠는 웹 수신기에서 계속 재생되어야 합니다. 앱 또는 연결이 다시 시작되면 발신기 앱은 웹 수신기 세션이 아직 최신 상태라면 웹 수신기에 대한 연결을 복원해야 합니다.
B 전송 버튼이 연결된 상태로 복원되어야 합니다.
C 발신기가 다시 연결되기 전에 사용자가 전송 버튼을 탭하면 웹 수신기 기기 목록이 표시됩니다. 사용자가 현재 전송 중인 웹 수신기를 선택하면 송신기 앱에 미니 컨트롤러나 확장된 컨트롤러가 표시됩니다.
참고
웹 수신기 앱은 정전 또는 기타 컨텍스트와 관련이 없는 중단으로 인해 연결이 해제되고 실행이 중지될 수도 있습니다. 발신자 전송 중지에 설명된 대로 일반 세션 종료로 처리됩니다.
Android
앱 선택
![](https://developers.google.cn/static/cast/images/a/sender-control-resume1_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
전송 연결이 복원됨
![](https://developers.google.cn/static/cast/images/a/sender-control-resume2_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
iOS
앱 선택
![](https://developers.google.cn/static/cast/images/i/sender-control-resume1_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
전송 연결이 복원됨
![](https://developers.google.cn/static/cast/images/i/sender-control-resume2_a.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
발신자가 전송을 중지함
TV로 전송된 콘텐츠는 사용자가 전송 중지를 선택하거나 발신자가 새 콘텐츠를 전송할 때까지 계속 재생됩니다. 여러 발신자가 동일한 웹 수신기에 연결되면 각 발신자 앱의 전송 대화상자에 전송 중지 버튼 대신 연결 해제 버튼이 있어야 합니다.
필수
A 여러 발신자가 웹 수신기에 연결되어 있는 경우 한 발신자 앱에서 전송 중지를 눌러도 웹 수신기에 아무 작업도 하지 않으며 발신자 기기에서 전송 컨트롤과 알림이 삭제됩니다. 연결된 나머지 발신기 기기는 사용 가능한 Cast 제어 기능으로 연결된 상태로 유지됩니다.
B 발신기 앱이 암시적으로 연결 해제되면 (예: 발신자 기기 배터리가 끊어지거나 웹 수신기에 대한 발신자 기기 네트워크 연결이 끊어짐) 웹 수신기에 아무 작업도 하지 않으며 발신기 기기에서 Cast 컨트롤 및 알림을 삭제합니다. 발신기 앱은 암시적 연결 해제를 추적하고 발신기 앱이 다시 열리면 Web Receiver에 다시 연결하려고 시도해야 합니다.
Android
전송 대화상자, 연결 해제 버튼
![](https://developers.google.cn/static/cast/images/a/sender-control-end1.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
iOS
전송 대화상자, 연결 해제 버튼
![](https://developers.google.cn/static/cast/images/i/sender-control-end1.png?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
Chrome
전송 대화상자, 연결 해제 버튼
![](https://developers.google.cn/static/cast/images/w/sender-control-end1.jpg?authuser=8&hl=ko)
콘텐츠를 재생하는 웹 수신기
![](https://developers.google.cn/static/cast/images/r/receiver-content-playing1.png?authuser=8&hl=ko)
이 디자인 가이드에 사용된 이미지는 저작권 또는 크리에이티브 커먼즈 라이선스에 따라 공유된 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