📅  最后修改于: 2023-12-03 15:01:15.979000             🧑  作者: Mango
HTML5中引入了<audio>
和<video>
元素来实现播放音频和视频。DOM事件使得我们可以控制这些媒体元素的行为。其中一个重要的事件是pause
事件。
要监听暂停事件,我们可以使用addEventListener
方法:
let mediaElement = document.querySelector('audio');
mediaElement.addEventListener('pause', function() {
console.log('Media paused');
});
这将在媒体元素暂停时触发一个消息。
我们可以根据媒体元素的paused
属性来更新播放器的状态:
let mediaElement = document.querySelector('audio');
let playButton = document.querySelector('.play-button');
let pauseButton = document.querySelector('.pause-button');
playButton.addEventListener('click', function() {
mediaElement.play();
playButton.classList.add('hidden');
pauseButton.classList.remove('hidden');
});
pauseButton.addEventListener('click', function() {
mediaElement.pause();
pauseButton.classList.add('hidden');
playButton.classList.remove('hidden');
});
mediaElement.addEventListener('play', function() {
playButton.classList.add('hidden');
pauseButton.classList.remove('hidden');
});
mediaElement.addEventListener('pause', function() {
pauseButton.classList.add('hidden');
playButton.classList.remove('hidden');
});
我们还可以使用媒体元素的属性,如duration
、currentTime
和volume
,来控制播放器的状态:
let mediaElement = document.querySelector('audio');
let volumeControl = document.querySelector('.volume-control');
let seekBar = document.querySelector('.seek-bar');
mediaElement.addEventListener('timeupdate', function() {
let percentComplete = (mediaElement.currentTime / mediaElement.duration) * 100;
seekBar.style.width = percentComplete + '%';
});
volumeControl.addEventListener('input', function() {
mediaElement.volume = volumeControl.value;
});
seekBar.addEventListener('click', function(event) {
let rect = seekBar.getBoundingClientRect();
let x = event.clientX - rect.left;
let percentage = x / rect.width;
mediaElement.currentTime = mediaElement.duration * percentage;
});
这将使得我们可以控制媒体元素的音量和当前播放时间。
HTML音频视频DOM暂停事件可以让我们对媒体元素进行更精细的控制。我们可以通过监听暂停事件来更新播放器的状态,并使用媒体元素的属性来控制播放器的行为。