如果通过js控制音乐的播放和静音

If you control the playback and mute of music through js

我是编程初学者。请问我写的音乐播放器是不是希望可以点击播放,再次点击静音。我应该怎么写呢?我

试过几次都失败了

PS。因为不知道怎么把音乐文件放到网上,所以当前音乐文件无效,纯属示意。

//關閉
let tag = true;
let music = document.querySelector('#music');
let btn = document.querySelector(".btn");
btn.addEventListener("click", function () {
    // 如果目前 flag 不是關閉就撥放
    if (tag) {
    // music.pause();
    music.setAttribute("muted","true");
    btn.setAttribute("class", "pause");
    tag = false;
    } else {
    music.play();
    btn.setAttribute("class", "play");
    tag = true;
    }
});
body{
  height: 500vh;
}
.btn {
  width: 60px;
  height: 60px;
  background-image: url('https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTmxXsF6UrJ0o-wcYdmXOqSpxZXhMzgcCzyAA&usqp=CAU');
  background-size: cover;
}

.play{
  width: 60px;
  height: 60px;
  border-radius: 50%;
  transition: 1s;
  background-image: url('https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTmxXsF6UrJ0o-wcYdmXOqSpxZXhMzgcCzyAA&usqp=CAU');
  background-size: cover;
}

.pause {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  transition: 1s;
  background-image: url('https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcScVjEwKCmnfciiCoEZ6am7ZXoIaVR0rUE_O2H1xWkqDMOZV-mk7i8eMwktqV9nHCsyF3A&usqp=CAU');
  background-size: cover;
}
<audio id="music" controls="controls">
  <source src="demo.mp3" type="audio/mp3">
</audio>
<div class="btn"></div>

如果您只想在点击时播放和暂停音频, 那么这段代码可能会解决你的问题,但如果你想静音,那么你可以使用 music.muted = true

HTML

<audio id="music" controls="controls">
      <source
        src="https://soundbible.com/mp3/service-bell_daniel_simion.mp3"
        type="audio/mp3"
      />
    </audio>
    <div class="btn"></div>

CSS

body {
      height: 100vh;
      display: grid;
      place-items: center;
    }

    .btn {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      transition: 1s;
      background: url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTmxXsF6UrJ0o-wcYdmXOqSpxZXhMzgcCzyAA&usqp=CAU");
      background-size: cover;
    }

    .btn.paused {
      transition: 1s;
      background-image: url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcScVjEwKCmnfciiCoEZ6am7ZXoIaVR0rUE_O2H1xWkqDMOZV-mk7i8eMwktqV9nHCsyF3A&usqp=CAU");
      background-size: cover;
      cursor: pointer;
    }

Javascript

const music = document.querySelector("#music");
      const btn = document.querySelector(".btn");
      var playing = false;

      btn.addEventListener("click", () => {
        if (!playing) {
          music.play();
          btn.classList.toggle("paused");
          playing = true;
        } else {
          music.pause();
          btn.classList.toggle("paused");
          playing = false;
        }
      });