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
相关产品推荐
相关产品推荐

