Skip to main content

Audio API

Audio API

createInnerAudioContext()

Creates an audio playback instance. Returns a new instance on each call.

Instance Properties (Read/Write):

MemberTypeDescription
srcstringAudio resource URL
startTimenumberPlayback start position (seconds)
autoplaybooleanWhether to auto-play
loopbooleanWhether to loop
volumenumberVolume (0~1)
playbackRatenumberPlayback speed (0.5~2.0)

Instance Properties (Read-only):

MemberTypeDescription
durationnumberTotal duration (seconds)
currentTimenumberCurrent playback position (seconds)
pausedbooleanPaused state
bufferednumberBuffered time (seconds)

Instance Methods:

MemberTypeDescription
play()voidPlay
pause()voidPause
stop()voidStop (resets position to 0)
seek(position)voidSeek to a specific position (in seconds)
destroy()voidDestroy instance and release resources

Instance Events:

MemberTypeDescription
onCanplay(cb) / offCanplay(cb?)voidReady to play
onPlay(cb) / offPlay(cb?)voidPlayback started
onPause(cb) / offPause(cb?)voidPaused
onStop(cb) / offStop(cb?)voidStopped
onEnded(cb) / offEnded(cb?)voidPlayback ended
onTimeUpdate(cb) / offTimeUpdate(cb?)voidPlayback time updated
onError(cb) / offError(cb?)voidError occurred
onWaiting(cb) / offWaiting(cb?)voidBuffering
onSeeking(cb) / offSeeking(cb?)voidSeeking started
onSeeked(cb) / offSeeked(cb?)voidSeeking completed
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('Ready to play');
bgm.play();
});

bgm.onError((err) => {
console.error('Audio error:', err.errMsg);
});

bgm.onEnded(() => {
console.log('Playback complete');
});

// Always call destroy() after use to clean up
bgm.destroy();