【问题标题】:Audio player only plays, doesn't stop音频播放器只播放,不停止
【发布时间】:2017-12-04 22:38:30
【问题描述】:

我正在尝试制作一个简单的音频播放器,但它无法正常工作!

这是 JavaScript:

var audio = document.getElementById("audio");
var isPlaying = false;

function togglePlay(element) {

  element.classList.toggle("playing");

  if (isPlaying) {
    document.getElementById("audio").pause();
    document.getElementById("audio").currentTime = 0;
  } else {
    document.getElementById("audio").play();
  }

}

document.getElementById("audio").onplaying = function() {
  var isPlaying = true;
};

document.getElementById("audio").onpause = function() {
  var isPlaying = false;
};

请帮帮我!

【问题讨论】:

    标签: javascript html audio


    【解决方案1】:
    var audio = document.getElementById("audio");
    // use .paused instead
    // var isPlaying = false;
    
    function togglePlay(element) {
      var promise;
    
      if (!audio.paused) { /* isPlaying */
        audio.pause();
        audio.currentTime = 0;
        element.classList.remove("playing");
      } else {
        // play is not instant, it returns a promise
        promise = audio.play();
        if (promise.then !== undefined) {
            promise.then(function () {
                element.classList.add("playing");
            });
        } else { /* old API */
            element.classList.add("playing");
        }
    
      }
    
    }
    
    audio.onplaying = function() {
      ;
    };
    
    audio.onpause = function() {
      ;
    };
    

    确保将<script> 放在<body> 的末尾

            <script>/* put script at the end of body */</script>
        </body>
    </html>
    

    确保&lt;audio&gt; 的音频源是实际的音频文件。 (不是包含音频的 html 文件)打开控制台并查看网络请求。

    【讨论】:

    • Uncaught TypeError: Cannot read property 'paused' of null at togglePlay ((index):19) at HTMLImageElement.onclick ((index):91) // Chrome 怎么说
    • 先修复这一行,我看不到你的 HTML var audio = document.getElementById("audio"); 确保有
    • 一切都很好,但它不起作用!查看my website的源代码
    • 查看我的编辑,nofile.io/g/… 不是音频文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多