当前位置:首页 > JavaScript

js实现视频播放

2026-03-01 02:24:21JavaScript

使用HTML5 <video> 元素实现基础播放

通过HTML5的<video>标签嵌入视频,配合JavaScript控制播放行为。示例代码如下:

<video id="myVideo" width="400" controls>
  <source src="video.mp4" type="video/mp4">
  您的浏览器不支持HTML5视频
</video>
<script>
  const video = document.getElementById('myVideo');
  // 播放
  video.play(); 
  // 暂停
  video.pause();
  // 跳转到第10秒
  video.currentTime = 10;
</script>

自定义播放器控件

隐藏原生控件,通过JavaScript监听事件并自定义按钮功能:

<video id="customVideo" width="400"></video>
<button onclick="playVideo()">播放</button>
<button onclick="pauseVideo()">暂停</button>
<script>
  const customVideo = document.getElementById('customVideo');
  function playVideo() { customVideo.play(); }
  function pauseVideo() { customVideo.pause(); }
  // 监听视频结束事件
  customVideo.addEventListener('ended', () => {
    console.log('播放结束');
  });
</script>

使用第三方库(如Video.js)

Video.js提供跨浏览器兼容性和丰富UI组件。引入库后初始化:

<link href="https://vjs.zencdn.net/7.15.4/video-js.css" rel="stylesheet">
<video id="enhancedVideo" class="video-js" controls>
  <source src="video.mp4" type="video/mp4">
</video>
<script src="https://vjs.zencdn.net/7.15.4/video.js"></script>
<script>
  const player = videojs('enhancedVideo');
  player.ready(() => {
    player.addClass('vjs-big-play-centered');
  });
</script>

处理兼容性与格式支持

检测浏览器支持的视频格式,动态切换源文件:

const video = document.createElement('video');
const canPlayMP4 = video.canPlayType('video/mp4');
const canPlayWebM = video.canPlayType('video/webm');
if (canPlayMP4) {
  video.src = 'video.mp4';
} else if (canPlayWebM) {
  video.src = 'video.webm';
}
document.body.appendChild(video);

实现全屏播放

调用全屏API增强用户体验:

function toggleFullscreen() {
  const video = document.getElementById('myVideo');
  if (!document.fullscreenElement) {
    video.requestFullscreen().catch(err => {
      console.error('全屏失败:', err);
    });
  } else {
    document.exitFullscreen();
  }
}

实时监控播放进度

通过timeupdate事件更新进度条或显示当前时间:

video.addEventListener('timeupdate', () => {
  const progress = (video.currentTime / video.duration) * 100;
  console.log(`进度: ${progress.toFixed(2)}%`);
});

js实现视频播放

标签: 视频播放js
分享给朋友:

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Pa…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEv…

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码 fun…

实现继承js

实现继承js

实现继承的方式 在JavaScript中,实现继承可以通过多种方式完成,每种方式都有其优缺点。以下是几种常见的实现继承的方法: 原型链继承 原型链继承是最基本的继承方式,通过将子类的原型指向父类的实…