当前位置:首页 > JavaScript

js代码实现视频播放

2026-03-01 18:40:33JavaScript

使用HTML5 Video元素

在HTML中嵌入<video>标签,通过JavaScript控制播放。以下是一个基础实现示例:

<video id="myVideo" width="320" height="240" controls>
  <source src="video.mp4" type="video/mp4">
</video>

<script>
  const video = document.getElementById('myVideo');
  // 播放
  video.play(); 
  // 暂停
  video.pause();
  // 跳转到特定时间(秒)
  video.currentTime = 10;
</script>

自定义播放器控件

通过JavaScript完全自定义UI控件:

js代码实现视频播放

<div>
  <video id="customVideo" src="video.mp4"></video>
  <button id="playBtn">播放</button>
  <input type="range" id="progressBar" value="0">
</div>

<script>
  const vid = document.getElementById('customVideo');
  const playBtn = document.getElementById('playBtn');
  const progressBar = document.getElementById('progressBar');

  playBtn.addEventListener('click', () => {
    vid.paused ? vid.play() : vid.pause();
  });

  vid.addEventListener('timeupdate', () => {
    progressBar.value = (vid.currentTime / vid.duration) * 100;
  });

  progressBar.addEventListener('input', () => {
    vid.currentTime = (progressBar.value / 100) * vid.duration;
  });
</script>

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

对于更复杂的功能(如自适应流、跨浏览器支持),可使用专业库:

<link href="https://vjs.zencdn.net/7.20.3/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.20.3/video.js"></script>
<script>
  const player = videojs('enhancedVideo');
  player.ready(() => {
    player.play();
  });
</script>

处理全屏模式

通过Fullscreen API实现全屏控制:

js代码实现视频播放

const videoElem = document.getElementById("myVideo");
// 进入全屏
videoElem.requestFullscreen().catch(err => {
  console.error(`全屏错误: ${err.message}`);
});
// 退出全屏
document.exitFullscreen();

事件监听

处理关键视频事件:

video.addEventListener('loadedmetadata', () => {
  console.log('视频时长:', video.duration);
});

video.addEventListener('ended', () => {
  console.log('播放结束');
});

video.addEventListener('error', () => {
  console.error('加载错误:', video.error.message);
});

移动端自动播放处理

iOS等平台限制自动播放,需用户交互触发:

document.body.addEventListener('click', () => {
  video.play().catch(e => {
    console.log('自动播放被阻止,显示播放按钮');
  });
}, { once: true });

分享给朋友:

相关文章

js实现分页功能代码

js实现分页功能代码

分页功能实现方法 客户端分页(前端处理数据) 适用于数据量较小且已全部加载到前端的情况。 // 示例数据 const data = Array.from({length: 100}, (_, i)…

网页表格制作css代码

网页表格制作css代码

基础表格样式 使用CSS为HTML表格添加基础样式,包括边框、间距和背景色: table { width: 100%; border-collapse: collapse; margin…

vue 实现视频播放

vue 实现视频播放

实现视频播放的基本方法 在Vue中实现视频播放可以通过HTML5的<video>标签或第三方库如video.js来实现。以下是两种常见的方法: 使用HTML5 <video>…

vue视频播放实现

vue视频播放实现

Vue 视频播放实现 在 Vue 中实现视频播放功能可以通过多种方式完成,以下是一些常见的方法和实现步骤: 使用 HTML5 <video> 标签 最简单的方式是直接使用 HTML5 的…

vue代码实现管理

vue代码实现管理

Vue.js 管理后台实现方案 使用 Vue.js 构建管理后台系统通常涉及路由、状态管理、UI 组件库等核心模块。以下是关键实现方案: 基础框架搭建 安装 Vue CLI 创建项目: npm i…

vue实现代码插件

vue实现代码插件

Vue 实现代码插件的方法 使用第三方库(如 Prism.js 或 Highlight.js) 安装 Prism.js 或 Highlight.js 库,这些库专门用于代码高亮显示。在 Vue 项目中…