📜  视频播放器的代码片段 (1)

📅  最后修改于: 2023-12-03 15:27:55.014000             🧑  作者: Mango

视频播放器的代码片段

在开发一个视频播放器时,需要使用到许多不同的技术和代码片段。以下是一些常见的代码片段和技术,可以帮助您开始开发自己的视频播放器。

HTML
使用<video>元素嵌入视频
<video src="video.mp4" controls></video>
  • src:视频的URL
  • controls:用于启用控件
定义视频的尺寸
<video src="video.mp4" width="640" height="360"></video>
  • width:视频的宽度
  • height:视频的高度
添加字幕
<video src="video.mp4" controls>
  <track src="subtitle.vtt" kind="subtitles" srclang="en" label="English">
</video>
  • src:视频的URL
  • controls:用于启用控件
  • track:添加字幕所需的轨道元素
  • src:字幕文件的URL
  • kind:定义轨道的类型(字幕,标题等)
  • srclang:定义字幕的语言
  • label:用于标识字幕语言的文本
CSS
自定义控件
video::-webkit-media-controls-play-button {
  background-image: url(play-button.png);
  width: 50px;
  height: 50px;
}
  • ::-webkit-media-controls-play-button:选择要自定义的媒体控件
  • background-image:自定义播放按钮的样式
  • width:播放按钮的宽度
  • height:播放按钮的高度
自定义进度条
video::-webkit-media-controls-timeline-container {
  background-color: gray;
}
video::-webkit-media-controls-timeline {
  background-color: red;
}
video::-webkit-media-controls-current-time-display {
  color: white;
}
  • ::-webkit-media-controls-timeline-container:用于自定义进度条容器
  • background-color:设置进度条容器的背景颜色
  • ::-webkit-media-controls-timeline:用于自定义进度条
  • background-color:设置进度条的背景颜色
  • ::-webkit-media-controls-current-time-display:用于自定义当前时间的显示
  • color:设置当前时间的字体颜色
JavaScript
控制视频的播放和暂停
const video = document.querySelector('video');
const playButton = document.querySelector('.play-button');

playButton.addEventListener('click', () => {
  if (video.paused) {
    video.play();
    playButton.textContent = 'Pause';
  } else {
    video.pause();
    playButton.textContent = 'Play';
  }
});
  • document.querySelector('video'):选择要控制的视频元素
  • document.querySelector('.play-button'):选择播放/暂停按钮
  • video.paused:检查视频是否已暂停
  • video.play():播放视频
  • video.pause():暂停视频
  • playButton.textContent:更改播放/暂停按钮的文本
更新视频的进度条
const video = document.querySelector('video');
const progressBar = document.querySelector('.progress-bar');

video.addEventListener('timeupdate', () => {
  const progress = (video.currentTime / video.duration) * 100;
  progressBar.style.width = `${progress}%`;
});
  • document.querySelector('video'):选择要控制的视频元素
  • document.querySelector('.progress-bar'):选择进度条元素
  • video.addEventListener('timeupdate'):当视频播放时间更新时,执行回调函数
  • video.currentTime:获取视频当前播放时间
  • video.duration:获取视频总时长
  • progressBar.style.width:更改进度条的宽度