오디오 기기

오디오 기기용 Google Cast는 오디오 재생만 지원합니다. 이 가이드에서는 오디오 전용 기기에 Cast 애플리케이션을 최적화하는 방법과 메모리, CPU, 네트워크 대역폭 사용률의 감소된 수요를 활용하는 방법을 설명합니다.

오디오용 Google Cast를 지원하는 앱은 다음 사항을 고려해야 합니다.

  • 오디오 기기용 Google Cast는 동영상이나 그래픽을 표시하지 않습니다. 하지만 많은 오디오 기기에는 재생 상태 (재생 또는 일시중지) 및 진행 상황과 같은 메타데이터를 표시하는 디스플레이가 있습니다. 애플리케이션은 이러한 중요한 사용자 정보를 수신자에만 표시하면 안 됩니다. 중요한 정보 및 대부분의 사용자 인터페이스는 발신자에게 표시해야 합니다.
  • 웹 수신기 애플리케이션을 올바르게 실행하려면 오디오 기기용 Google Cast가 표시되지 않더라도 그래픽을 렌더링해야 합니다. 기기에서 하드웨어 가속 그래픽 작업을 지원하지 않을 수 있으므로 수신기 애플리케이션은 색상 그라디언트, 회전, 알파 블렌딩, 진행률 표시줄과 같은 큰 객체 1초에 두 번 이상 그래픽 그리기 작업을 사용해서는 안 됩니다.
  • 오디오 기기용 Google Cast는 디지털 권한 관리 (DRM) 보호 콘텐츠에서만 Widevine을 지원합니다.
  • 대부분의 오디오 기기용 Google Cast에서 발신자 애플리케이션은 Chromecast 기기와 같이 TV에 대한 오디오 소스 입력의 볼륨뿐만 아니라 기기의 전체 볼륨 범위 (예: 스피커)를 제어합니다.
  • 앱은 발신자 기기(예: 스마트폰)로 재생을 제어하는 것 외에도 기기의 자체 컨트롤러(리모컨, 기기 버튼 또는 외부 원격 애플리케이션)를 사용하여 재생을 제어해야 할 수 있습니다.
  • 오디오 기기용 Google Cast는 특정 기기 UI에 따라 작은 LCD 화면, HDMI 출력 (사운드바 또는 오디오 동영상 수신기의 경우), 외부 원격 애플리케이션을 통해 콘텐츠 메타데이터 표시를 지원할 수 있습니다.

개발

오디오용 Google Cast를 지원하는 Cast 애플리케이션 개발의 첫 번째 단계는 오디오 동영상용 Cast 애플리케이션을 개발하고 Chromecast에서 실행되는지 확인하는 것입니다. 이 문서에서는 이러한 앱을 개발하고 테스트했다고 가정합니다.

앱은 오디오 비디오 기기와 오디오 전용 기기 모두를 지원할 수 있습니다. 한 버전과 다른 모델을 사용하는 시점을 파악하고 주어진 시나리오에서 최상의 사용자 환경을 제공하기 위한 조치를 취해야 합니다.

예를 들어 로컬 동영상/NAS 파일 재생 애플리케이션과 같은 듀얼 동영상 및 오디오 앱은 오디오 파일 재생을 지원하기 위해 오디오 전용 기기로 전송을 사용 설정해야 하지만, 앱은 사용자가 오디오 전용 기기로 동영상 파일을 전송하도록 허용해서는 안 됩니다. 앱은 아래 설명된 발신자용 기기 기능 API를 사용하여 기기에 적합한 콘텐츠를 결정할 수 있습니다.

오디오에서 Google Cast를 지원하려면 앱에서 다음 작업을 실행해야 합니다.

  • 오디오 전용 지원: 음악 및 오디오 파일, 라디오 등을 스트리밍합니다. 웹 수신기 앱으로 스트리밍되는 미디어는 동영상 스트림이어서는 안 됩니다. 또한 애플리케이션 실행 시간과 메모리 사용을 개선하기 위해 그래픽 및 이미지를 스트리밍하지 마세요. 아래의 메모리 사용량 가이드라인을 참고하세요.

  • Cast 기기 및 일반 Chromecast에서 예상대로 실행됩니다.

기기 기능

앱은 기기 자체에서 또는 발신자 또는 수신기 API를 통해 사용할 수 있는 기기 기능 API를 통해 오디오 전용 기기에서 실행되는지 알 수 있습니다.

기기 HTTP 헤더

애플리케이션 실행 중에 Cast 기기에서 제공하는 CAST-DEVICE-CAPABILITIES HTTP 헤더는 기기 기능을 설명합니다. 기기는 이 헤더가 있는 요청을 웹 수신기 앱을 호스팅하는 서버에 전송합니다. 오디오 전용 기기의 헤더는 CAST-DEVICE-CAPABILITIES: {"display_supported":false}를 통해 기기 기능을 설명합니다.

서버가 기기로부터 요청을 수신하면 이 헤더의 정보를 사용하여 오디오 기기에 최적화된 Web Receiver 앱으로 요청을 리디렉션할 수 있습니다.

Web Receiver API

웹 수신기 앱이 로드될 때 CastReceiverManager.getDeviceCapabilities()를 호출하여 동일한 기기 기능 객체를 가져올 수 있습니다.

자세한 내용은 기기 기능을 참고하세요.

Sender API

각 Cast Sent API에는 기기 기능 정보도 있습니다. 이를 통해 발신기 앱이 수신자에게 전송할 미디어 종류를 결정할 수 있습니다. 앱에서 오디오와 동영상을 모두 지원하는 경우 동영상 콘텐츠를 오디오 전용 기기로 전송하지 않을 수 있습니다. 또한 앱은 디자인 체크리스트에 설명된 대로 기기에 가장 적합한 방법을 사용하여 볼륨을 제어할 수 있습니다. 발신자를 위한 다음 기기 기능 API를 참고하세요.

메모리 사용량 가이드라인

오디오 기기에서 실행되는 웹 수신기 앱은 다음과 같이 메모리 사용량을 관리해야 합니다.

  • 이미지 또는 그래픽 저작물을 다운로드하거나 사용하지 않도록 하여 메모리 공간을 줄이고 재생이 시작될 때까지 시간을 단축할 수 있습니다.
  • 미디어 소스 확장 프로그램 (MSE)을 사용할 때 애플리케이션은 스트림 버퍼를 2MB로 제한해야 합니다. MPL (미디어 플레이어 라이브러리)을 사용하는 경우 애플리케이션의 스트림 버퍼 크기가 이미 MPL에 정의되어 있습니다.
  • HTMLMediaElement를 사용할 때 애플리케이션의 스트림 버퍼 크기는 Chrome에서 스트림 속도를 기반으로 정의됩니다. 오디오 비트 전송률을 초당 2메가비트로 제한하여 지원되는 미디어에 설명된 모든 코덱 (최대 48KHz/16비트)을 지원합니다.

볼륨 컨트롤

대부분의 오디오 기기용 Google Cast에서 발신자 애플리케이션은 Chromecast 기기와 마찬가지로 오디오 소스 입력 볼륨뿐만 아니라 기기의 전체 볼륨 범위를 제어합니다. 즉, 오디오 전용 애플리케이션의 볼륨 변경 규모가 작아야 합니다. 앱에서 볼륨을 제어하는 방법에 대한 가이드라인은 다음 문서를 참조하세요.

기기 제어

오디오 기기용 Google Cast에는 자체 재생 컨트롤 (예: 버튼, 리모컨)이 있을 수 있습니다. 이는 미디어 재생 메시지에 설명된 대로 urn:x-cast:com.google.cast.media 네임스페이스에 정의된 미디어 재생 메시지를 사용하여 수신기 애플리케이션의 재생을 제어합니다. 수신기 애플리케이션은 기기의 재생 컨트롤을 지원하기 위해 이러한 미디어 재생 메시지를 지원해야 합니다.

또한 사용자가 앱 컨트롤을 사용하여 미디어 상태를 변경할 때 발신자 앱이 수신자로부터 상태 메시지를 수신하고 그에 따라 UI를 업데이트할 수 있도록 발신자 앱은 수신자에서 발신자에게 메시지를 지원해야 합니다.

기기 디스플레이

오디오 기기용 Google Cast에는 기기의 LCD 화면이나 미디어 메타데이터를 표시하는 기기별 제어 애플리케이션이 있을 수 있습니다. 수신기 앱은 모든 오디오 트랙에 이 메타데이터를 제공하고 메타데이터가 현재 디스플레이에 적절하게 표시되도록 현재 재생 중인 콘텐츠와 동기화되도록 해야 합니다. 애플리케이션이 커스텀 메타데이터를 사용하는 경우 아래 각 플랫폼에 설명된 대로 표준 오디오 메타데이터 (트랙 이름, 아티스트 이름, 앨범 제목 등)도 제공해야 합니다.

수신자는 미디어를 로드할 때 발신자로부터 메타데이터를 가져옵니다. 발신기 앱에서 수신기에 미디어를 로드하는 명령어를 사용하여 메타데이터가 오디오 기기용 Google Cast에 표시되도록 아래에 설명된 필드를 지정해야 합니다. 다음 API를 사용합니다.

Cast 앱이 수신자 또는 클라우드에서 미디어 큐를 관리하는 경우 모든 수신자가 동기화되도록 웹 수신자는 urn:x-cast:com.google.cast.media 네임스페이스를 사용하여 미디어 상태 업데이트를 브로드캐스트해야 합니다.

등록

테스트를 위해 오디오 기기용 Google Cast를 등록하고 Google Cast SDK 개발자 콘솔을 사용하여 오디오 기기용 Google Cast를 지원하도록 앱을 등록해야 합니다.

  • 기기 등록에 대한 자세한 내용은 기기를 참조하세요.
  • 애플리케이션을 등록할 때 앱에서 오디오 기기용 Google Cast를 검색하도록 허용하려면 오디오 전용 기기로 전송 지원 체크박스를 선택해야 합니다. 애플리케이션 등록을 참조하세요.

테스트용으로 사용되는 앱과 같이 게시되지 않은 앱의 경우 오디오 전용 기기를 지원하는 옵션도 선택해야 앱이 오디오 전용 기기를 검색할 수 있습니다.

오디오용 Google Cast 2.0

오디오용 Google Cast (GC4A) 2.0은 메모리가 부족한 기기를 타겟팅하여 콘텐츠를 스트리밍할 수 있는 기기 생태계를 확장하도록 설계된 차세대 Cast 오디오 플랫폼입니다.

오디오 앱 개발자는 GC4A 2.0에서 앱을 테스트하는 것이 중요합니다. 프로덕션 Bose 스피커 (예: Bose 스마트 스피커 500)에서 GC4A 2.0용 Cast 앱을 테스트할 수 있습니다.

테스트 설정에 도움이 필요하거나 Bose 스피커를 사용할 수 없는 경우 gc4a-support-external@google.com에 문의하세요. 앱을 디버그하려면 Cast 디버그 로거를 사용하는 것이 좋습니다.