停止声音和分离阵列
Stop sound and separate arrays
我目前正在学习如何在HTML5中制作声音板的教程。
我现在遇到的问题是:
<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媒体事件。
有几个事件可以帮助你。如:
- 暂停
如果你听这些,并保留一个全局标志来告诉你是否有媒体正在播放,你可以通过先检查这个标志来阻止其他按钮/链接播放声音。
已编辑:
几乎所有你需要的代码都是JavaScript,而不是PHP。请看一下这个小提琴的样本。 http://jsfiddle.net/B82Nq/11/它为3个<audio>
标签注册了一个通用的媒体事件监听器,并将暂停、结束和播放事件处理程序分开来控制播放。当你发送一个停止/开始事件时,一个全局布尔变量被切换,它告诉你是否应该允许另一个剪辑播放(我假设你将简单地禁用播放它们的按钮,或类似的东西)。
但是我已经添加了所有的媒体事件来显示它们都在开火——这将有助于理解它们何时和多久被开火。它们列在MDC:
(不为使用AC/DC夹而道歉:)
相关文章:
- 如何附着分离的对象
- 如何使用jQuery each分离字符串中的元素
- 将JavaScript函数与HTML分离
- 将Javascript与HTML分离
- 使用正则表达式捕获“”并分割成阵列
- AngularJS卡片转盘:将卡片返回到阵列的末尾
- 从不同的对象创建阵列
- 如何定义一个模块并使用它来分离js文件
- 阵列中随机图像的问题
- 在特定条件下从存储在localStorage中的阵列中删除对象
- 从AJAX回调函数中分离数据
- 如何将所有同级存储在动态本地存储阵列中
- 在Jquery中分离后,如何将相同的函数添加回代码中
- 从localStorage添加和检索阵列
- angular.注射器阵列值未返回当前值
- 流星蒙戈的返回阵列
- 从2D RGB阵列创建图像
- 使用谷歌地图api 3为MapTypeId.TERRAIN分离按钮
- 停止声音和分离阵列
- 循环浏览CSV数据并根据值将其分离到辅助阵列中