首页 > 解决方案 > 使用 Javascript 播放音频

问题描述

一旦用户点击使用 JavaScript 的按钮,我就会尝试播放音频。我正在循环访问数据库以使用 PHP 获取音频文件,但是每当我单击播放按钮时,它都会播放存储在数据库中的第一个音频,即使我单击了其他已循环并显示的音频,它仍然会播放数据库中的第一个音频。

我究竟做错了什么?

这是我的代码:

<div class="ms_weekly_wrapper" id="wrapper">
    <div class="ms_weekly_inner" id='player'>
      <?php
      require '../db.php';
      $sql = "select * from top15";
      $sql_query = mysqli_query($con, $sql);
      $i = 1;
      while ($row = mysqli_fetch_array($sql_query)) {
        echo '<audio id="music_player">';
        echo "<source src='../Admin/Song/songAudio/" . $row['song_audio'] . "'/>";
        echo '</source>';
        echo '</audio>';
        echo ' <input type="image" src="images/play.png" onclick="play_aud()" id="play_button">';

        echo '<div class="ms_divider"></div>';
      }
      ?>

    </div>
</div>

这是负责播放音频文件的 JavaScript

document.addEventListener("DOMContentLoaded", function () {
    startplayer();
}, false);
var player;

function startplayer() {
    player = document.getElementById('music_player');
    player.controls = false;
}

function play_aud() {
    player.play();
}

这是我尝试做的

   <audio id="<? php echo $audio_Id? >"; 

然后是 JavaScript

   var id = "<? php echo $audio_Id? >"; 
   player =  document.getElementById(id); 

但它不工作

标签: javascripthtml

解决方案


推荐阅读