首页 > 解决方案 > 音乐暂停时音频标签继续加载

问题描述

在音乐暂停时,我不断获取我的网络选项卡以显示我的播放器正在获取数据。我让它播放 5 秒,它在暂停时会继续加载几分钟。

在此处输入图像描述

我的代码

  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>

知道为什么会这样吗?

标签: reactjsnext.js

解决方案


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

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

推荐阅读