AudioContext

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

AudioContext 인터페이스는 AudioNode에 의해 각각 표현되는, 함께 연결된 오디오 모듈로부터 만들어진 오디오 프로세싱 그래프를 표현합니다. 오디오 컨텍스트는 이것이 포함하는 노드의 생성과 오디오 프로세싱 혹은 디코딩의 실행 둘 다를 제어합니다. 여러분은 다른 무언가를 하기 전에 AudioContext를 생성할 필요가 있습니다. 왜냐하면 모든 것은 컨텍스트 내에서 발생하기 때문입니다. 매번 새로운 컨텍스트를 초기화하는 대신 하나의 AudioContext를 생성하고 재사용하는 것이 추천되며, 몇 개의 다른 오디오 소스에 대해 하나의 AudioContext를 사용하고 동시에 연결하는 것은 문제없습니다.

EventTarget BaseAudioContext AudioContext

생성자

AudioContext()

새로운 AudioContext 객체를 생성하고 반환합니다.

속성

또한 부모 인터페이스인 BaseAudioContext로부터 속성을 상속받습니다.

AudioContext.baseLatency 읽기 전용 Experimental

AudioDestinationNode에서 오디오 서브시스템으로 오디오를 전달하는 AudioContext에 의해 초래된 프로세싱 레이턴시의 초를 반환합니다.

AudioContext.outputLatency 읽기 전용 Experimental

현재 오디오 컨텍스트의 출력 레이턴시의 평가치를 반환합니다.

메서드

또한 부모 인터페이스인 BaseAudioContext로부터 메서드를 상속받습니다.

AudioContext.close()

오디오 컨텍스트가 사용하는 모든 시스템 오디오 자원을 해제하며, 오디오 컨텍스트를 닫습니다.

AudioContext.createMediaElementSource()

HTMLMediaElement와 연관된 MediaElementAudioSourceNode를 생성합니다. 이것은 <video> 혹은 <audio> 요소로부터 오디오를 재생하거나 조작하기 위해 사용될 수 있습니다.

AudioContext.createMediaStreamSource()

로컬 컴퓨터 마이크나 다른 소스로부터 올 지도 모르는 오디오 스트림을 나타내는 MediaStream과 연관된 MediaStreamAudioSourceNode를 생성합니다.

AudioContext.createMediaStreamDestination()

로컬 파일에 저장되거나 다른 컴퓨터로 전송될지도 모르는 오디오 스트림을 나타내는 MediaStream과 연관된 MediaStreamAudioDestinationNode를 생성합니다.

AudioContext.createMediaStreamTrackSource()

미디어 스트림 트랙을 나타내는 MediaStream과 연관된 MediaStreamTrackAudioSourceNode를 생성합니다.

AudioContext.getOutputTimestamp()

현재 오디오 컨텍스트에 관련된 두 개의 오디오 타임스탬프 값을 포함하는 새로운 AudioTimestamp 객체를 반환합니다.

AudioContext.resume()

이전에 연기되거나/정지된 오디오 컨텍스트의 시간 진행을 다시 시작합니다.

AudioContext.suspend()

일시적으로 오디오 하드웨어 접근을 멈추고 프로세스에서의 CPU/배터리 사용을 줄이며, 오디오 컨텍스트에서의 시간 진행을 연기합니다.

예제

기본적인 오디오 컨텍스트 선언:

js
var audioCtx = new AudioContext();

크로스 브라우저를 위한 다른 형태:

js
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();

var oscillatorNode = audioCtx.createOscillator();
var gainNode = audioCtx.createGain();
var finish = audioCtx.destination;
// etc.

명세

Specification
Web Audio API
# AudioContext

브라우저 호환성

BCD tables only load in the browser

같이 보기