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