点击播放Javascript音频
我有一个javascript代码,可以在单击时发出声音。 它可以在chrome上运行,但在firefox上它是在加载时启动的,但我也希望它在那里单击 有人能帮忙吗点击播放Javascript音频,javascript,audio,onclick,Javascript,Audio,Onclick,我有一个javascript代码,可以在单击时发出声音。 它可以在chrome上运行,但在firefox上它是在加载时启动的,但我也希望它在那里单击 有人能帮忙吗 <script> var audio = new Audio("http://music.ogg" ) ; audio.oncanplaythrough = function(){ audio.play(); } audio.loop = true; audio.onended = function(){ audio
<script>
var audio = new Audio("http://music.ogg" ) ;
audio.oncanplaythrough = function(){
audio.play();
}
audio.loop = true;
audio.onended = function(){
audio.play();
}
</script>
<input type="image" src="http://button.png" onclick="audio.play()">
var audio=新音频(“http://music.ogg" ) ;
audio.oncanplaythrough=函数(){
音频播放();
}
audio.loop=true;
audio.onended=函数(){
音频播放();
}
尝试下面的代码片段
音频
函数播放(){
var audio=document.getElementById(“音频”);
音频播放();
}
有效
<audio src="${ song.url }" id="audio"></audio>
<i class="glyphicon glyphicon-play-circle b-play" id="play" onclick="play()"></i>
<script>
function play() {
var audio = document.getElementById('audio');
if (audio.paused) {
audio.play();
$('#play').removeClass('glyphicon-play-circle')
$('#play').addClass('glyphicon-pause')
}else{
audio.pause();
audio.currentTime = 0
$('#play').addClass('glyphicon-play-circle')
$('#play').removeClass('glyphicon-pause')
}
}
</script>
函数播放(){
var audio=document.getElementById('audio');
如果(音频暂停){
音频播放();
$(“#播放”).removeClass('glyphicon-play-circle'))
$(“#播放”).addClass('glyphicon-pause')
}否则{
audio.pause();
audio.currentTime=0
$('#play').addClass('glyphicon-play-circle'))
$(“#播放”).removeClass('glyphicon-pause'))
}
}
既然现在有了新的解决方案,这可能是一个更稳健的选择
是该API的原始包装器,用于在使用点以最少的样板文件播放简单的一次性声音。JavaScript
函数播放音频(url){
新音频(url).play();
}
HTML
在大多数现代浏览器中都支持,并且易于嵌入HTML元素。虽然有几个答案是相似的,但我仍然有一个问题-用户会多次单击按钮,播放自己的音频(或者是意外单击的,或者只是“播放”…) 一个简单的解决方法:
var music = new Audio();
function playMusic(file) {
music.pause();
music = new Audio(file);
music.play();
}
设置音频加载允许每次调用该功能时暂停“音乐”-即使用户多次单击按钮,也可以有效地停止“噪音”(而且也无需关闭按钮,但为了用户体验,您可能需要这样做)。HTML:
<button onclick="play()">Play File</button>
<audio id="audio" src="https://s3.amazonaws.com/freecodecamp/drums/Heater-1.mp3"></audio>
嗨,谢谢你的回复。它现在在两个浏览器上都启动,没有声音。这里的链接如果有人遇到延迟,只需使用
var audio=new audio(url)代码>页面加载一次。然后通过audio.currentTime=0触发;音频播放()代码>。只有在短时间内播放声音时,才需要重置当前时间
let play = function(){document.getElementById("audio").play()}