我正在尝试根据我在 Google 搜索中找到的一些代码和示例创建一个音板(我在这里找到了许多示例)。它具有我目前需要的所有基本核心功能,除了一个我无法弄清楚的非常重要的功能:当我单击另一个音频按钮时如何停止播放所有音频。
这是我当前的工作代码:
$(function() {
$("audio").removeAttr("controls").each(function(i, audioElement) {
var audio = $(this);
var that = this;
var isplaying = false;
$("#profile").append($('<button>' + audio.attr("title") + '</button>').click(
function() {
if (isplaying == false) {
that.play();
isplaying = true;
} else {
that.pause();
that.currentTime = 0;
isplaying = false;
}
}));
});
});
我有将 div "#profile" 包装在另一个 div "#global" 中的想法,然后试图阻止所有声音在 #global 中播放,但它没有用:
$(function() {
$("audio").removeAttr("controls").each(function(i, audioElement) {
var audio = $(this);
var that = this;
var isplaying = false;
$("#profile").append($('<button>' + audio.attr("title") + '</button>').click(
function() {
if (isplaying == false) {
that.play();
isplaying = true;
} else if (isplaying == true) {
$("#global").click(
function() {
that.pause();
that.currentTime = 0;
isplaying = false;
});
}
}));
});
});
它的功能比在#profile 中尝试以相同的方式停止音频要好得多(我松散地使用它),因为当我这样做时音频根本没有播放。但是,使用上面的代码,在我单击按钮关闭音频后,它不会再次播放,直到我刷新页面。我最大的问题仍然存在:按下多个按钮时声音仍然重叠......
老实说,我不知道自己在想什么了,因为上面的内容听起来并不完全合乎逻辑,而且我几乎要退后一步了……但是我已经在整个项目中待了四天直,我想我疯了。我在采用这种方法时是否走在正确的轨道上,或者我是否接近,或者我只是智障?
请帮忙。