Javascript 如何使用数据库中的音频标记和播放源

Javascript 如何使用数据库中的音频标记和播放源,javascript,jquery,laravel,Javascript,Jquery,Laravel,我发现这是可以使用的,但是如何使id与数据库中的每个音乐查询相一致呢 var myAudio=document.getElementById(“myfile”); 函数togglePlay(){ 返回myAudio.pause?myAudio.play():myAudio.pause(); }; {{$ebeat->title}如果您在整个DOM中重复同一对元素,那么将代码设置为泛型会更有意义。为此,使用DOM遍历将上一个同级audio元素获取到单击的a元素。要做到这一点,您可以从对单击的元

我发现这是可以使用的,但是如何使id与数据库中的每个音乐查询相一致呢

var myAudio=document.getElementById(“myfile”);
函数togglePlay(){
返回myAudio.pause?myAudio.play():myAudio.pause();
};


{{$ebeat->title}
如果您在整个DOM中重复同一对元素,那么将代码设置为泛型会更有意义。为此,使用DOM遍历将上一个同级
audio
元素获取到单击的
a
元素。要做到这一点,您可以从对单击的元素的引用中使用
以前的同级元素

function togglePlay(el) {
  var audio = this.previousSibling;
  return audio.paused ? audio.play() : audio.pause();
};


音频文件如何存储在数据库中?您需要找到一种方法,将它们作为服务器上的有效二进制文件提供——这似乎是您在编写任何JS代码之前需要解决的问题。音频文件以字符串形式存储并移动到文件夹中。我遇到的问题是音频id。即使我单击了其他音乐,也只播放了第一首音乐。@Rorymcrossanso您有多个
音频
元素具有相同的
id
?如果是这样,那就是你的问题。当我试图用数据库{{{$ebeat->title}}@rorymccrossan中每个音乐文件的各种唯一id替换音频时,您是否可以编辑您的问题,以显示一个HTML示例,其中包含您的代码是如何组织多个
音频
a
元素的
function?它可以工作,但前一个没有停止,而下一个播放它们都在播放,而我希望前一个停止播放onchange@Rory McCrossanThanks@Rory McCrossan,但是我如何实现这个$('audio')。每个(function(){this.pause();//停止播放this.currentTime=0;//重置时间});使用此$(function(){('a.togglePlay')的当前状态。单击(function(e){var audio=$(this.prev()[0];return audio.paused?audio.play():audio.pause();});});
$(function() {
  $('a.togglePlay').click(function(e) {
    var audio = $(this).prev()[0];
    return audio.paused ? audio.play() : audio.pause();
  });
});