当前位置:首页 > 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实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <ht…

vue实现网站代码

vue实现网站代码

Vue 实现网站代码的基本步骤 安装 Vue.js 通过 npm 或 CDN 引入 Vue.js。使用 npm 安装:npm install vue。或者直接在 HTML 文件中引入 Vue CDN:…

vue代码核心实现

vue代码核心实现

Vue 核心实现原理 Vue.js 的核心实现主要包括响应式系统、虚拟 DOM、模板编译和组件化机制。以下是关键实现要点: 响应式系统 通过 Object.defineProperty(Vue 2)…

vue实现登录代码

vue实现登录代码

以下是一个基于 Vue.js 的登录功能实现示例,包含表单验证和异步请求处理: 基础组件结构 <template> <div class="login-container"&g…

vue代码实现管理

vue代码实现管理

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

vue简单代码实现

vue简单代码实现

以下是一个基于 Vue 3 的简单代码实现示例,包含基础功能演示: 基础模板结构 <!DOCTYPE html> <html lang="en"> <head>…