본문으로 건너뛰기

Audio API

Audio API

createInnerAudioContext()

오디오 재생 인스턴스를 생성합니다. 매 호출마다 새로운 인스턴스를 반환합니다.

인스턴스 속성 (읽기/쓰기):

멤버타입설명
srcstring오디오 리소스 URL
startTimenumber재생 시작 위치 (초)
autoplayboolean자동 재생 여부
loopboolean반복 재생 여부
volumenumber볼륨 (0~1)
playbackRatenumber재생 속도 (0.5~2.0)

인스턴스 속성 (읽기 전용):

멤버타입설명
durationnumber총 재생 시간 (초)
currentTimenumber현재 재생 위치 (초)
pausedboolean일시정지 상태
bufferednumber버퍼링된 시간 (초)

인스턴스 메서드:

멤버타입설명
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();