这是一个持续问题的一部分:triggering files from an array/for-loop
我遇到的问题是Howls实际上没有暂停,但实际上是“静音”。点击暂停时的嚎叫会静音,但会继续静默运行。我尝试使用.stop()
,但得到的结果相同。
我正在使用onend
属性,该属性有效并显示.pause()
方法无效。当反复点击暂停/播放时,一切都变得非常混乱!
在从数组编写啸叫和相关控制按钮之前,暂停工作完美。这是因为使用了数组,暂停方法已经停止正常工作。
这是一个:fiddle of the current pause issue(控制台日志正在那里工作)
这是js:
var sounds = ['sound1', 'sound2'];
var howls = {};
sounds.forEach(function(sound){
howls[sound] = new Howl({
urls: ['http://powellian.com/assets/audio/' + sound + '.mp3', 'http://powellian.com/assets/audio/' + sound + '.ogg'],
volume: 1,
onplay: function() {
console.log('PLAYING: ' + sound);
$('#' + sound).removeClass('static').addClass('PLAYING');
$('#' + sound + ' span.play').addClass('hide');
$('#' + sound + ' span.pause').removeClass('hide');
},
onpause: function() {
console.log('PAUSED: ' + sound);
$('#' + sound).removeClass('PLAYING').addClass('PAUSED');
$('#' + sound + ' span.play').removeClass('hide');
$('#' + sound + ' span.pause').addClass('hide');
},
onend: function() {
console.log('ENDED: ' + sound);
$('#' + sound).removeClass().addClass('static');
$('#' + sound + ' span.play').removeClass('hide');
$('#' + sound + ' span.pause').addClass('hide');
}
});
// PLAY btn
$('#' + sound + ' span.play').click(function () {
howls[sound].play();
});
// PAUSE btn
$('#' + sound + ' span.pause').click(function () {
howls[sound].pause();
});
});
对于记录,这是使用Howler v1.1.29。尝试使用v2.0,但由于各种其他原因(例如不会加载数组 - 我不需要2.0但是如果它有帮助则愿意运行此问题的测试)。
任何帮助都会非常感谢并提前感谢。
答案 0 :(得分:0)
修正了 - 我的不好但是使用v2.0我没有意识到urls
需要更改为src
所以这样做并且一切正常。
在本地版本上,我将另一个音频文件添加到数组并暂停,其中一个完全正常工作。谢谢你的建议!