当前位置:首页 > 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监听事件并自定义按钮功能:

js实现视频播放

<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>

处理兼容性与格式支持

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

js实现视频播放

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实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时功能可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是几种常见的实现方式: 使用 setInterva…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js 实现倒计时

js 实现倒计时

实现倒计时的基本方法 使用 JavaScript 实现倒计时可以通过 setInterval 或 setTimeout 结合日期计算来完成。以下是两种常见实现方式。 使用 setInterval 实…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…