音乐暂停时音频标签保持加载

时间:2021-05-19 21:07:29

标签: reactjs next.js

我一直让我的网络标签显示我的播放器在音乐暂停时正在获取数据。我让它播放了 5 秒,它在暂停时继续加载几分钟。

enter image description here

我的代码

  const [playing, setPlaying] = useState<boolean>(false);
  const musicPlayers = useRef<HTMLAudioElement | undefined>(
    typeof Audio !== "undefined"
      ? new Audio("ss")
      : undefined
  );
  useEffect(() => {
    playing ? musicPlayers.current?.play() : musicPlayers.current?.pause();
  }, [playing]);

           <button onClick={() => {
              setPlaying(!playing);
              //  setPlaying(!playing);
              // setIsPlaying(!isPlaying);
            }}
          ></button>

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

解决方案是对 chrome 执行此操作(问题仅在 chrome 上)

useEffect(() => {
    if (!playing) {
      musicPlayers.current?.pause();
      musicPlayers.current = new Audio("");
    } else {
      musicPlayers.current = new Audio("s");
      musicPlayers.current?.play();
    }
  }, [playing]);