跳到主要内容

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();