You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tabris.js 2.4音频仅播放一次:如何实现重复播放?

解决Tabris.js音频重复播放的问题

嘿,我来帮你搞定这个音频只能播放一次的问题!其实很简单,我们只需要监听音频播放结束的ended事件,在播放完成后自动重置播放位置并重新启动播放,就能实现循环播放效果啦。

核心思路

Tabris.js的Media对象自带ended事件,当音频播放到末尾时会自动触发这个事件。我们只需要在事件回调里,用seek(0)把播放位置重置到音频开头,再调用play()方法,就能让音频循环播放起来。

修改后的完整可运行示例代码

const { Button, ui } = require('tabris');

// 创建Media音频对象
var my_media = new Media('http://static1.grsites.com/archive/sounds/cartoon/cartoon001.mp3');

// 监听音频播放结束事件,实现循环播放
my_media.on('ended', () => {
  my_media.seek(0); // 将播放进度重置到音频开头
  my_media.play(); // 重新启动播放
});

// 创建播放按钮
let btnPlay = new Button({
  centerX: 0,
  centerY: 0,
  text: '播放音频'
}).appendTo(ui.contentView);

// 按钮点击触发音频播放
btnPlay.on('select', () => {
  my_media.play();
});

额外拓展说明

  • 如果需要暂停循环,可以新增一个暂停按钮,调用my_media.pause()方法即可暂停播放;
  • 要是你需要有限次数的重复播放(比如只循环3次),可以设置一个计数器变量,在ended事件回调里累加计数,达到指定次数后就不再调用play()即可。

内容的提问来源于stack exchange,提问作者mrmccormack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:15:16