gpt4 book ai didi

javascript - 停止声音并分离阵列

转载 作者:行者123 更新时间:2023-12-03 01:00:43 24 4
gpt4 key购买 nike

我目前正在学习关于如何在 HTML5 中制作音板的教程 here .

我遇到的当前代码是这样的:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(function() {
$("audio").removeAttr("controls").each(function(i, audioElement) {
var audio = $(this);
var that = this; //closure to keep reference to current audio tag
$("#doc").append($('<button>'+audio.attr("title")+'</button>').click(function() {
if(that.play()==true){
play.stop();
}else{
that.play();
}
}));
});
});
</script>

我正在尝试使它一次只能播放一种声音。我还尝试通过调用 that.stop() 来制作一个简单的停止按钮。但它不起作用。我也在试图弄清楚如何制作单独的数组,以便我可以组织声音。我尝试更改音频标签,因为教程中讨论了它如何创建数组来搜索它。但是我必须更改错误的代码行,因为新数组永远不会起作用。

最佳答案

为了一次只播放一种声音,我会听DOM media events .

有几个事件可以帮助你。如:

  • 结束
  • 暂停
  • 播放

  • 如果你听这些,并保留一个全局标志来告诉你媒体是否正在播放,你可以通过首先检查这个标志来阻止你的其他按钮/链接播放声音。

    编辑评论 :

    您需要的几乎所有代码都是 JavaScript,而不是 PHP。看看这个示例 fiddle 。

    http://jsfiddle.net/B82Nq/11/

    它向 3 <audio> 注册一个通用媒体事件监听器。标签,以及单独的暂停、结束和播放事件处理程序来控制播放。当您收到停止/开始事件时,会切换一个全局 bool 变量,告诉您是否应该允许播放另一个剪辑(我假设您将简单地禁用播放它们的按钮,或类似的东西)。

    但是我已经添加了所有媒体事件,以向您展示它们都被触发了——这将有助于了解它们被触发的时间和频率。他们是 listed at MDC here :

    (没有为使用 AC/DC 夹而道歉:)

    关于javascript - 停止声音并分离阵列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675598/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com