`canplay` HTML5 音频事件未触发
`canplay` HTML5 Audio event not firing
我正在尝试确定 HTML5 音频元素何时准备好开始播放,以便通知用户。我正在使用以下代码:
<script type="text/javascript">
var audio = document.getElementById("audio")
</script>
<audio id="audio" hidden loop>
<source src="/static/music/music.mp3" type="audio/mpeg">
<source src="/static/music/music.ogg" type="audio/ogg">
<source src="/static/music/music.wav" type="audio/wav">
No support for HTML5 audio!
</audio>
<div id="playButton" onclick="audio.play();audio.addEventListener('canplay',function() {
alert("ready!");
});">PLAY</div>
但是,即使在按下播放按钮之后,警告也不会出现。我正在使用后期 Chrome (Chrome 40)
您甚至在 JavaScript 找到它之前就已经获取了元素!所以你根本收不到音频。
试试这个:
<audio id="audio" hidden loop>
<source src="music.mp3" type="audio/mpeg">
No support for HTML5 audio!
</audio>
<div id="playButton" onclick="play()">PLAY</div>
<script type="text/javascript">
var audio = document.getElementById("audio");
// Binding event
audio.oncanplay = function() {
alert("Can start playing video");
};
// Playing the audio
function play() {
audio.play();
}
</script>
添加到 Shreejibawa 发布的内容中,关于您的脚本需要在 在 加载 DOM 之后执行,请查看 [=17= 的文档] 音频和 javascript 事件。
我正在尝试确定 HTML5 音频元素何时准备好开始播放,以便通知用户。我正在使用以下代码:
<script type="text/javascript">
var audio = document.getElementById("audio")
</script>
<audio id="audio" hidden loop>
<source src="/static/music/music.mp3" type="audio/mpeg">
<source src="/static/music/music.ogg" type="audio/ogg">
<source src="/static/music/music.wav" type="audio/wav">
No support for HTML5 audio!
</audio>
<div id="playButton" onclick="audio.play();audio.addEventListener('canplay',function() {
alert("ready!");
});">PLAY</div>
但是,即使在按下播放按钮之后,警告也不会出现。我正在使用后期 Chrome (Chrome 40)
您甚至在 JavaScript 找到它之前就已经获取了元素!所以你根本收不到音频。
试试这个:
<audio id="audio" hidden loop>
<source src="music.mp3" type="audio/mpeg">
No support for HTML5 audio!
</audio>
<div id="playButton" onclick="play()">PLAY</div>
<script type="text/javascript">
var audio = document.getElementById("audio");
// Binding event
audio.oncanplay = function() {
alert("Can start playing video");
};
// Playing the audio
function play() {
audio.play();
}
</script>
添加到 Shreejibawa 发布的内容中,关于您的脚本需要在 在 加载 DOM 之后执行,请查看 [=17= 的文档] 音频和 javascript 事件。