--- title: AudioChannelManager slug: Web/API/AudioChannelManager tags: - API - Audio - Non-standard translation_of: Archive/B2G_OS/API/AudioChannelManager ---

{{APIRef("Web Audio API")}} {{Non-standard_header}}

AudioChannelManager는 디바이스의 오디오 채널을 관리하는 기능을 포함하는 오디오 채널 API(AudioChannels API)의 인터페이스이다. 특정한 앱 내에서 볼륨 버튼이 눌렸을 때 어떤 채널의 볼륨이 적용될지를 설정하는 기능을 포함하고 있다.

메소드

Note: 부모클래스인 {{domxref("EventTarget")}}의 메소드를 상속받는다.

속성

Note: 부모클래스인 {{domxref("EventTarget")}}의 속성을 상속받는다.

{{domxref("AudioChannelManager.headphones")}} {{readonlyinline}}
헤드폰이 디바이스에 장착되었는지 여부를 나타내는 불리언 값.
{{domxref("AudioChannelManager.telephonySpeaker")}}
"telephony" 오디오 채널이 장치의 스피커 밖으로 재생할지 여부를 설정할 수 있도록하는 불리언 값.
{{domxref("AudioChannelManager.volumeControlChannel")}}
하드웨어 볼륨 버튼을 눌렀을 때 변경해야 할 오디오 채널에 대한 {{domxref("DOMString")}} 값.

이벤트 핸들러

{{domxref("AudioChannelManager.onheadphoneschange")}}
헤드폰이 장착되었는지 혹은 해제되었는지 알려주는 트리거.

예제

아래 간단한 예제를 보면, 앱의 AudioChannelManager 객체에 접근하기 위해 {{domxref("Navigator.mozAudioChannelManager","navigator.mozAudioChannelManager")}} 속성을 사용한다.  먼저 첫번째로 수신된 변수에 따라 {{domxref("AudioChannelManager.volumeControlChannel")}} 속성을 설정한 후, 몇 가지 기본적인 특징을 검출한다.

var channelValue = 'content';

if (navigator.mozAudioChannelManager) {
  if(channelValue == 'normal') {
    navigator.mozAudioChannelManager.volumeControlChannel = 'normal';
  } else if(channelValue == 'content') {
    navigator.mozAudioChannelManager.volumeControlChannel = 'content';
  }
  console.log(navigator.mozAudioChannelManager.volumeControlChannel);
}

Note: 완전히 동작하는 예제를 보기 위해서는 audio-channels-demo를 확인하기 바란다. Firefox OS 디바이스에 앱을 설치하고 음악을 재생한 뒤, 채널을 normal 그리고 content로 지정하여 앱을 백그라운드로 전환 후 어떤 일이 발생하는지 확인하도록 한다.

명세

현재 오디오 채널 API는 공식적인 명세(스펙)가 정의되어있지 않다. https://wiki.mozilla.org/WebAPI/AudioChannels를 참고하면 WebIDL에 대한 자세한 구현사항에 대해 확인할 수 있다.

함께 보기