reactjs - 音乐暂停时音频标签继续加载
问题描述
在音乐暂停时,我不断获取我的网络选项卡以显示我的播放器正在获取数据。我让它播放 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>
知道为什么会这样吗?
解决方案
解决方案是为 chrome 执行此操作(问题仅在 chrome 上)
useEffect(() => {
if (!playing) {
musicPlayers.current?.pause();
musicPlayers.current = new Audio("");
} else {
musicPlayers.current = new Audio("s");
musicPlayers.current?.play();
}
}, [playing]);
推荐阅读
- android - GET_ACCOUNT 权限未在 android N 中授予
- java - Spock Maven - 无法使用现有的 Java 单元测试代码和 *.groovy 文件运行
- laravel - 在添加之前对数据库中的添加值进行哈希处理
- google-api - 通过 YouTube 数据 API 验证 YouTube Premium 会员
- azure - 针对 Azure 表存储的并行 StartsWith 查询
- java - Hibernate Validator 不起作用,但我不知道为什么
- reactjs - 这个编译错误的原因是什么?“类型 IntrinsicAttributes 和 TabProps 上不存在属性 containerElement ...”
- c# - C# WEB API 从 HTTP2 到 SPDY 的协议更改
- html - Html 列边框
- java - 记录/调试我的对象的状态