blob: 222821010dc8e15aa6be87f7ba753ac5b56e38c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
---
title: AudioContext
slug: Web/API/AudioContext
tags:
- API
- Audio
- AudioContext
- Interface
- Reference
- Web Audio API
- sound
translation_of: Web/API/AudioContext
---
<div>{{APIRef("Web Audio API")}}</div>
<p><span class="seoSummary"><code>AudioContext</code> 인터페이스는 {{domxref("AudioNode")}}에 의해 각각 표현되는, 함께 연결된 오디오 모듈로부터 만들어진 오디오 프로세싱 그래프를 표현합니다. 오디오 컨텍스트는 이것이 포함하는 노드의 생성과 오디오 프로세싱 혹은 디코딩의 실행 둘 다를 제어합니다. 여러분은 다른 무언가를 하기 전에 <code>AudioContext</code>를 생성할 필요가 있습니다. 왜냐하면 모든 것은 컨텍스트 내에서 발생하기 때문입니다. 매번 새로운 컨텍스트를 초기화하는 대신 하나의 AudioContext를 생성하고 재사용하는 것이 추천되며, 몇 개의 다른 오디오 소스에 대해 하나의 <code>AudioContext</code>를 사용하고 동시에 연결하는 것은 문제없습니다.</p>
<p>{{InheritanceDiagram}}</p>
<h2 id="Constructor">생성자</h2>
<dl>
<dt>{{domxref("AudioContext.AudioContext", "AudioContext()")}}</dt>
<dd>새로운 <code>AudioContext</code> 객체를 생성하고 반환합니다.</dd>
</dl>
<h2 id="Properties">속성</h2>
<p><em>또한 부모 인터페이스인 {{domxref("BaseAudioContext")}}로부터 속성을 상속받습니다.</em></p>
<dl>
<dt>{{domxref("AudioContext.baseLatency")}} {{readonlyinline}} {{experimental_inline}}</dt>
<dd>{{domxref("AudioDestinationNode")}}에서 오디오 서브시스템으로 오디오를 전달하는 {{domxref("AudioContext")}}에 의해 초래된 프로세싱 레이턴시의 초를 반환합니다.</dd>
<dt>{{domxref("AudioContext.outputLatency")}} {{readonlyinline}} {{experimental_inline}}</dt>
<dd>현재 오디오 컨텍스트의 출력 레이턴시의 평가치를 반환합니다.</dd>
</dl>
<h2 id="Methods">메서드</h2>
<p><em>또한 부모 인터페이스인 {{domxref("BaseAudioContext")}}로부터 메서드를 상속받습니다.</em></p>
<dl>
<dt>{{domxref("AudioContext.close()")}}</dt>
<dd>오디오 컨텍스트가 사용하는 모든 시스템 오디오 자원을 해제하며, 오디오 컨텍스트를 닫습니다.</dd>
<dt>{{domxref("AudioContext.createMediaElementSource()")}}</dt>
<dd>{{domxref("HTMLMediaElement")}}와 연관된 {{domxref("MediaElementAudioSourceNode")}}를 생성합니다. 이것은 {{HTMLElement("video")}} 혹은 {{HTMLElement("audio")}} 요소로부터 오디오를 재생하거나 조작하기 위해 사용될 수 있습니다.</dd>
<dt>{{domxref("AudioContext.createMediaStreamSource()")}}</dt>
<dd>로컬 컴퓨터 마이크나 다른 소스로부터 올 지도 모르는 오디오 스트림을 나타내는 {{domxref("MediaStream")}}과 연관된 {{domxref("MediaStreamAudioSourceNode")}}를 생성합니다.</dd>
<dt>{{domxref("AudioContext.createMediaStreamDestination()")}}</dt>
<dd>로컬 파일에 저장되거나 다른 컴퓨터로 전송될지도 모르는 오디오 스트림을 나타내는 {{domxref("MediaStream")}}과 연관된 {{domxref("MediaStreamAudioDestinationNode")}}를 생성합니다.</dd>
<dt>{{domxref("AudioContext.createMediaStreamTrackSource()")}}</dt>
<dd>미디어 스트림 트랙을 나타내는 {{domxref("MediaStream")}}과 연관된 {{domxref("MediaStreamTrackAudioSourceNode")}}를 생성합니다.</dd>
<dt>{{domxref("AudioContext.getOutputTimestamp()")}}</dt>
<dd>현재 오디오 컨텍스트에 관련된 두 개의 오디오 타임스탬프 값을 포함하는 새로운 <code>AudioTimestamp</code> 객체를 반환합니다.</dd>
<dt>{{domxref("AudioContext.resume()")}}</dt>
<dd>이전에 연기되거나/정지된 오디오 컨텍스트의 시간 진행을 다시 시작합니다.</dd>
<dt>{{domxref("AudioContext.suspend()")}}</dt>
<dd>일시적으로 오디오 하드웨어 접근을 멈추고 프로세스에서의 CPU/배터리 사용을 줄이며, 오디오 컨텍스트에서의 시간 진행을 연기합니다.</dd>
</dl>
<h2 id="Examples">예제</h2>
<p>기본적인 오디오 컨텍스트 선언:</p>
<pre class="brush: js">var audioCtx = new AudioContext();</pre>
<p>크로스 브라우저를 위한 다른 형태:</p>
<pre class="brush: js">var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
var oscillatorNode = audioCtx.createOscillator();
var gainNode = audioCtx.createGain();
var finish = audioCtx.destination;
// etc.</pre>
<h2 id="Specifications">명세</h2>
{{Specifications}}
<h2 id="Browser_compatibility">브라우저 호환성</h2>
<p>{{Compat}}</p>
<h2 id="See_also">같이 보기</h2>
<ul>
<li><a href="/ko/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Web Audio API 사용하기</a></li>
<li>{{domxref("OfflineAudioContext")}}</li>
</ul>
|