Audio API
Audio API
createInnerAudioContext()
오디오 재생 인스턴스를 생성합니다. 매 호출마다 새로운 인스턴스를 반환합니다.
인스턴스 속성 (읽기/쓰기):
| 멤버 | 타입 | 설명 |
|---|---|---|
src | string | 오디오 리소스 URL |
startTime | number | 재생 시작 위치 (초) |
autoplay | boolean | 자동 재생 여부 |
loop | boolean | 반복 재생 여부 |
volume | number | 볼륨 (0~1) |
playbackRate | number | 재생 속도 (0.5~2.0) |
인스턴스 속성 (읽기 전용):
| 멤버 | 타입 | 설명 |
|---|---|---|
duration | number | 총 재생 시간 (초) |
currentTime | number | 현재 재생 위치 (초) |
paused | boolean | 일시정지 상태 |
buffered | number | 버퍼링된 시간 (초) |
인스턴스 메서드:
| 멤버 | 타입 | 설명 |
|---|---|---|
play() | void | 재생 |
pause() | void | 일시정지 |
stop() | void | 정지 (위치 0으로 초기화) |
seek(position) | void | 특정 위치로 이동 (초 단위) |
destroy() | void | 인스턴스 파괴 및 리소스 해제 |
인스턴스 이벤트:
| 멤버 | 타입 | 설명 |
|---|---|---|
onCanplay(cb) / offCanplay(cb?) | void | 재생 가능 상태 |
onPlay(cb) / offPlay(cb?) | void | 재생 시작 |
onPause(cb) / offPause(cb?) | void | 일시정지 |
onStop(cb) / offStop(cb?) | void | 정지 |
onEnded(cb) / offEnded(cb?) | void | 재생 완료 |
onTimeUpdate(cb) / offTimeUpdate(cb?) | void | 재생 시간 업데이트 |
onError(cb) / offError(cb?) | void | 에러 발생 |
onWaiting(cb) / offWaiting(cb?) | void | 버퍼링 대기 |
onSeeking(cb) / offSeeking(cb?) | void | 탐색 시작 |
onSeeked(cb) / offSeeked(cb?) | void | 탐색 완료 |
const audio = TudadaSDK.createInnerAudioContext();
audio.src = './bgm.mp3';
audio.loop = true;
audio.volume = 0.8;
audio.play();
const bgm = TudadaSDK.createInnerAudioContext();
bgm.src = './bgm.mp3';
bgm.loop = true;
bgm.volume = 0.5;
bgm.onCanplay(() => {
console.log('재생 준비 완료');
bgm.play();
});
bgm.onError((err) => {
console.error('오디오 에러:', err.errMsg);
});
bgm.onEnded(() => {
console.log('재생 완료');
});
// 사용 후 반드시 destroy()로 정리
bgm.destroy();