【问题标题】:Array of audio files音频文件数组
【发布时间】:2023-03-10 22:35:02
【问题描述】:

我正在尝试遍历一组音频文件,但每次它读取 myAudio 中的索引时,我都会收到一个

myAudio.load 不起作用

为什么会这样?

    $("#playBtn").click(function(){
        isPlaying = true;
        myAudio.play();
        console.log("playBtn is working");
    })        

      var myAudio = [
        'sound/animals.mp3',
        'sound/maps.mp3',
        'sound/misery.mp3'
          ];
      index = 0;


      myAudio.load();

 
#playBtn{
    cursor: pointer
      }
<div id="playBtn">play</div>

【问题讨论】:

标签: javascript jquery arrays audio


【解决方案1】:

您需要使用加载功能之前为每个音频文件设置来源。

例如:

 var src = (the audio source location)
 var audio = document.getElementById('audio');
 audio.setAttribute("src", src);
 audio.load();

在这种情况下,您的来源将是 myAudio 数组中的值,您需要根据需要播放的音频设置不同的 src。

【讨论】:

  • @Roh 这个答案有帮助吗?如果是这样,如果你能接受,我会很高兴:)
【解决方案2】:
$("#playBtn").click(function(){
    isPlaying = true;
    console.log("playBtn is working");        

  var myAudio = [
    'sound/animals.mp3',
    'sound/maps.mp3',
    'sound/misery.mp3'
      ];
  var rand = Math.floor((Math.random() * myAudio.length) + 1);
  var src = myAudio[rand];
  var tag = document.getElementById('audio');
  tag.setAttribute("src", src);
  tag.load();


});

【讨论】:

  • myAudio 是一个数组。数组上没有 load()/play() 方法。
猜你喜欢
  • 2016-11-03
  • 2019-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多