当前位置:首页 > JavaScript

js实现播放视频

2026-03-16 07:24:34JavaScript

使用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(); // 暂停
</script>

动态加载视频源

通过JavaScript动态修改视频源,适用于需要切换不同视频的场景。

const video = document.getElementById('myVideo');
video.src = 'new-video.mp4';
video.load(); // 重新加载视频源
video.play();

自定义播放器控件

隐藏原生控件,通过JavaScript实现自定义按钮控制。

js实现播放视频

<video id="myVideo" width="320" height="240"></video>
<button onclick="playVideo()">播放</button>
<button onclick="pauseVideo()">暂停</button>

<script>
  function playVideo() {
    document.getElementById('myVideo').play();
  }
  function pauseVideo() {
    document.getElementById('myVideo').pause();
  }
</script>

监听视频事件

通过事件监听实现播放状态反馈或交互逻辑。

const video = document.getElementById('myVideo');
video.addEventListener('play', () => {
  console.log('视频开始播放');
});
video.addEventListener('ended', () => {
  console.log('视频播放结束');
});

全屏播放控制

通过JavaScript触发视频全屏模式。

js实现播放视频

const video = document.getElementById('myVideo');
if (video.requestFullscreen) {
  video.requestFullscreen();
} else if (video.webkitRequestFullscreen) {
  video.webkitRequestFullscreen();
}

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

对于更复杂的需求,可以使用成熟的视频播放库。

<link href="https://vjs.zencdn.net/7.20.3/video-js.css" rel="stylesheet">
<video id="myVideo" class="video-js" controls preload="auto">
  <source src="video.mp4" type="video/mp4">
</video>

<script src="https://vjs.zencdn.net/7.20.3/video.min.js"></script>
<script>
  const player = videojs('myVideo');
  player.play();
</script>

移动端自动播放处理

iOS等设备限制自动播放,需通过用户交互触发。

document.body.addEventListener('click', () => {
  const video = document.getElementById('myVideo');
  video.play();
}, { once: true });

流媒体播放(如HLS)

使用hls.js库实现自适应码率流播放。

<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<video id="myVideo" controls></video>

<script>
  const video = document.getElementById('myVideo');
  if (Hls.isSupported()) {
    const hls = new Hls();
    hls.loadSource('stream.m3u8');
    hls.attachMedia(video);
  }
</script>

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

相关文章

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

vue实现分片播放视频

vue实现分片播放视频

实现分片播放视频的基本思路 分片播放视频的核心是将视频文件分割为多个片段,按需加载和播放。Vue中可通过HTML5的<video>标签结合自定义逻辑实现。 视频分片处理 视频文件需提前分…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…