javascript - 转到不同页面时停止音频
问题描述
我有下面的代码,可以通过单击按钮来播放音频。该代码有效,但是当我转到网页中的不同页面时,音频仍在播放。离开页面时,我可以实施任何方法或技巧来使所有声音静音或暂停声音吗?我的代码:
const [playing, setPlaying] = useState(false);
const [playingAudio, setPlayingAudio] = useState([]);
const handleAudioPlay = (customer_id, sound_id, state) => {
var data = {
"customer-id": customer_id,
"sound-id": sound_id
};
if(state) {
axios.post(`http://localhost:2000/files/get-temporary-url`, data).then(function(result) {
var audio = new Audio(result.data)
setPlayingAudio(audio)
if(playing) {
audio.pause()
}
else {
audio.play()
setPlaying(true)
audio.addEventListener('ended', function() {
setPlaying(false)
}, false);
}
});;
/*
if(state) {
axios.post(`/files/get-temporary-url`, data).then(function(result) {
var audio = new Audio(result.data)
setPlayingAudio(audio)
if(playing) {
audio.pause()
}
else {
audio.play()
setPlaying(true)
audio.addEventListener('ended', function() {
setPlaying(false)
}, false);
}
});;
*/
}
else {
playingAudio.pause()
setPlaying(false)
}
}
解决方案
推荐阅读
- python - 从混淆矩阵生成分类报告
- r - 如何计算列表r中的出现次数
- r - 简化代码,处理多年的数据 - lapply、raster、stack、mean、crop to AOI
- javascript - 如何在jQuery的.each函数中获取全局变量值
- r - 使用不同的几何图形时,ggplot2 chage 图例键从交叉到线
- mysql - 随机数 01-99 MySQL
- flutter - 输入'未来
' 不是类型 '() => void' 的子类型 - angular - 角度重定向到 dist
- ios - 从 iOS 快捷方式上传到 S3
- python - 如何在抓取网站时排除带有标签的特定文本?