Howler.js - 暂停方法只有静音嚎叫,而不是真正暂停它们
Howler.js - pause method only Muting howls, not actually Pausing them
这是正在进行的问题的一部分:
我遇到的问题是 Howls 实际上并没有暂停,但实际上 'muting'。当点击暂停时,嚎叫声会静音,但会继续 运行 无声地继续。我试过使用 .stop()
但得到的结果相同。
我正在使用 onend
属性,它有效并显示 .pause()
方法无效。当重复点击 pause/play 时,一切都变得非常混乱!
在从数组中编写嚎叫声和相关控制按钮之前,暂停效果很好。自从使用了数组后,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,但如果有帮助,我愿意 运行 测试这个问题完全没有)。
任何帮助将不胜感激,并提前致谢。
已修复 - 我的问题是 v2.0,但我没有意识到 urls
需要更改为 src
所以这样做并且一切正常。
在本地版本中,我向阵列添加了另一个音频文件,暂停和结束都完美无缺。谢谢你的建议!
这是正在进行的问题的一部分:
我遇到的问题是 Howls 实际上并没有暂停,但实际上 'muting'。当点击暂停时,嚎叫声会静音,但会继续 运行 无声地继续。我试过使用 .stop()
但得到的结果相同。
我正在使用 onend
属性,它有效并显示 .pause()
方法无效。当重复点击 pause/play 时,一切都变得非常混乱!
在从数组中编写嚎叫声和相关控制按钮之前,暂停效果很好。自从使用了数组后,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,但如果有帮助,我愿意 运行 测试这个问题完全没有)。
任何帮助将不胜感激,并提前致谢。
已修复 - 我的问题是 v2.0,但我没有意识到 urls
需要更改为 src
所以这样做并且一切正常。
在本地版本中,我向阵列添加了另一个音频文件,暂停和结束都完美无缺。谢谢你的建议!