首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >点击播放一组音频文件

点击播放一组音频文件
EN

Stack Overflow用户
提问于 2016-08-11 14:37:17
回答 1查看 2.9K关注 0票数 2

我有一个数组的音频文件,我想要播放时,我点击一个按钮。如果我单击上述按钮,它将在数组中播放下一个音频文件。此外,如果用户再次单击时正在播放音频,则重置当前音轨并播放下一首歌曲。

试图找出为什么我不能循环我目前拥有的数组。

代码语言:javascript
运行
复制
 var song1 = $("#sound-1");
 var song2 = $("#sound-2");
 var song3 = $("#sound-3");
 var song4 = $("#sound-4");
 var song5 = $("#sound-5");
 var song6 = $("#sound-6");
 var song7 = $("#sound-7");
 var song8 = $("#sound-8");

 var audioArray = [ song1, song2, song3, song4, song5, song6, song7, song8 ];


$(".click").click(function(){
   var i=0;
      if (i< audioArray.length){
         audioArray[i].trigger('play');
         i++;
      } else if ( i>audioArray.length){
         i = 0;
         audioArray[i].trigger('play');
      };
 });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 14:41:47

最新答案:

由于您使用的是本机HTML5接口,所以也可以触发一个pause事件。不幸的是,没有任何stop事件会重置时间,但是我们可以使用currentTime属性手动将其设置为0

代码语言:javascript
运行
复制
var i=0;
var lastPlayedFile = null;
$(".click").click(function(){
  if(lastPlayedFile !== null) {
    lastPlayedFile[0].currentTime = 0; // [0] because we need a native DOM element, not a jQuery-wrapped one
    lastPlayedFile.trigger('pause');
  }
  if (i< audioArray.length){
     lastPlayedFile = audioArray[i];
     audioArray[i].trigger('play');
     i++;
  } else if (i>=audioArray.length){ // there was a missing '=' in this condition to work properly
     i = 0;
     lastPlayedFile = audioArray[0];
     audioArray[i].trigger('play');
  };
});
  • 这是我发明的小提琴。 --我在Chrome上测试过它,它运行得完美无缺。
  • 我建议使用查看音频标记引用来查看通过操作本机DOM音频元素还能实现什么。

原来的答案:

i的声明移到click处理程序之外。

代码语言:javascript
运行
复制
var i=0;
$(".click").click(function(){
  if (i< audioArray.length){
     audioArray[i].trigger('play');
     i++;
  } else if ( i>audioArray.length){
     i = 0;
     audioArray[i].trigger('play');
  };
});

每次用户单击该按钮时,您都会将其值重置为0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38899395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档