gpt4 book ai didi

javascript - 当音频元素由 javascript 生成时,HTML5 audio.pause() 不起作用

转载 作者:行者123 更新时间:2023-12-01 01:08:47 30 4
gpt4 key购买 nike

我无法暂停或停止播放音乐。 audio.pause() 很简单,不起作用。我尝试了一切,甚至更改源并再次加载。非常感谢您的帮助。

不适用于 Chrome、Opera、Firefox...

我尝试了一切可能的方法,但无法解决。

<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js'></script>
<style>.ppbutton{font-size: 50px;cursor: pointer;}</style>

<a id="ppbutton1" class="ppbutton fa fa-play" data-src="https://kolber.github.io/audiojs/demos/mp3/01-dead-wrong-intro.mp3"></a>

<a id="ppbutton2" class="ppbutton fa fa-play" data-src="https://kolber.github.io/audiojs/demos/mp3/02-juicy-r.mp3"></a>

<script>
var clicked_id;
var audio_var;

$('.ppbutton').on("click",function(){
var datasrc = $(this).attr('data-src');
clicked_id= $(this).attr('id');
console.log(clicked_id);
audio_var = new Audio(datasrc);
if($(this).hasClass('fa-play')){
console.log('play_click');
$(this).removeClass('fa-play');
$(this).addClass('fa-pause');
console.log(audio_var);
audio_var.play();
} else {
console.log('pause_click');
$(this).removeClass('fa-pause');
$(this).addClass('fa-play');
audio_var.pause();
//audio_var.src='';
//audio_var.load();
console.log(audio_var);
}
});
</script>

https://codepen.io/gugi25/pen/ywrXxE

只需暂停或停止由 javascript 生成的音频。

最佳答案

一个非常小的改变应该会有所帮助。

将新的音频声明移至 If Hasclass 内。您的问题是因为每次用户单击按钮时都会创建一个新的音频元素。

https://codepen.io/mvinayakam/pen/KEYZdG

$('.ppbutton').on("click",function(){
var datasrc = $(this).attr('data-src');
clicked_id= $(this).attr('id');
console.log(clicked_id);
if($(this).hasClass('fa-play')){
console.log('play_click');
audio_var = new Audio(datasrc);
$(this).removeClass('fa-play');
$(this).addClass('fa-pause');
console.log(audio_var);
audio_var.play();
} else {
console.log('pause_click');
$(this).removeClass('fa-pause');
$(this).addClass('fa-play');
console.log(audio_var);
audio_var.pause();
//audio_var.src='';
//audio_var.load();
console.log(audio_var);
}

关于javascript - 当音频元素由 javascript 生成时,HTML5 audio.pause() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55353260/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com