news 2026/10/8 2:40:08

简单的HTML5视频播放器皮肤的代码示例(播放/暂停按钮)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
简单的HTML5视频播放器皮肤的代码示例(播放/暂停按钮)

简单的HTML5视频播放器皮肤的代码示例,包含播放/暂停按钮、进度条、音量控制和全屏按钮:

<video id="myVideo" width="640" height="360" poster="poster.jpg"> <source src="sample.mp4" type="video/mp4"> Your browser does not support HTML5 video. </video> <div class="video-controls"> <button id="playPauseBtn">▶</button> <div class="progress-container"> <div class="progress-bar"></div> </div> <input type="range" id="volumeControl" min="0" max="1" step="0.1" value="1"> <button id="fullscreenBtn">⛶</button> </div> <style> .video-controls { background-color: rgba(0, 0, 0, 0.7); padding: 10px; display: flex; align-items: center; } #playPauseBtn, #fullscreenBtn { background: none; border: none; color: white; font-size: 16px; margin-right: 10px; cursor: pointer; } .progress-container { flex-grow: 1; height: 5px; background-color: #555; margin: 0 10px; border-radius: 5px; overflow: hidden; } .progress-bar { height: 100%; width: 0; background-color: #ff5252; transition: width 0.1s linear; } #volumeControl { width: 80px; margin-left: 10px; } </style> <script> const video = document.getElementById('myVideo'); const playPauseBtn = document.getElementById('playPauseBtn'); const progressBar = document.querySelector('.progress-bar'); const volumeControl = document.getElementById('volumeControl'); const fullscreenBtn = document.getElementById('fullscreenBtn'); playPauseBtn.addEventListener('click', function() { if (video.paused) { video.play(); playPauseBtn.textContent = '❚❚'; } else { video.pause(); playPauseBtn.textContent = '▶'; } }); video.addEventListener('timeupdate', function() { const percent = (video.currentTime / video.duration) * 100; progressBar.style.width = `${percent}%`; }); progressBar.parentElement.addEventListener('click', function(e) { const pos = (e.pageX - this.offsetLeft) / this.offsetWidth; video.currentTime = pos * video.duration; }); volumeControl.addEventListener('input', function() { video.volume = this.value; }); fullscreenBtn.addEventListener('click', function() { if (video.requestFullscreen) { video.requestFullscreen(); } }); </script>

自定义的视频播放器皮肤,你可以根据需要进一步调整样式和功能.

| 浏览器 | MP4 | WebM | Ogg |
| ----------------- | ------------------ | ---- | --- |
| Internet Explorer | YES | NO | NO |
| Chrome | YES | YES | YES |
| Firefox | YES | YES | YES |
| Safari | YES | NO | NO |
| Opera | YES (从 Opera 25 起) | YES | YES |

支持的格式

HTML5 Video 支持以下几种视频格式:

  • MP4:带有 H.264 视频编码和 AAC 音频编码的 MPEG 4 文件,是最广泛支持的格式。

  • WebM:带有 VP8 视频编码和 Vorbis 音频编码的 WebM 文件,由 Google 推广。

  • Ogg:带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件,较少使用,但兼容性较好

[ 视频安全 ] 相关原创文章

  • 教育教学类视频如何处理加密与安全(组图)
  • 防止360浏览器小窗下载视频
  • 视频安全之视频播放密码功能(设置观看密码功能教程)
  • 视频安全之授权播放和防录屏跑马灯
  • 企业级微信视频直播如何设定观看白名单(设定手机观看白名单、授权观看直播)
  • 在线教育网站如何更好的实现视频安全视频保护?
  • 免费视频二维码的完整使用教程(适合小企业做微信视频宣传)
  • Html5视频video标签中使用blob实现视频播放加密
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/7 20:54:23

5大数据库调试技巧:快速解决存储过程问题的完整指南

5大数据库调试技巧&#xff1a;快速解决存储过程问题的完整指南 【免费下载链接】dbeaver 项目地址: https://gitcode.com/gh_mirrors/dbe/dbeaver 你是否遇到过存储过程执行结果异常却无从下手的困扰&#xff1f;当复杂的SQL逻辑出现问题时&#xff0c;传统的日志输出…

作者头像 李华
网站建设 2026/10/7 16:35:03

39、Bash 配置与定制全攻略

Bash 配置与定制全攻略 1. 信号名补全处理 在使用 complete 的 -A signal 选项时,虽然能获取信号名列表,但这些名字的格式不太实用,无法直接用于生成信号名数组。因为生成的名字以 “SIG” 开头,而 kill 命令所需的名字并非如此。 _signal 函数的作用是将信号名数…

作者头像 李华
网站建设 2026/10/6 19:00:47

18、FrameMaker 键盘宏与模板创建全攻略

FrameMaker 键盘宏与模板创建全攻略 1. 键盘宏基础 在操作中,我们可以将之前编写的宏加载到内存中,以便在其他会话中使用。下面,我们将详细介绍复杂宏的录制、搜索宏的创建、宏的重复执行、保存与重用,以及键盘映射等内容。 1.1 录制复杂宏 在 FrameMaker 里,几乎所有…

作者头像 李华
网站建设 2026/10/7 6:37:20

将STM32H7的SPI MISO和MOSI短接回环测试配置问题也是非常方便的

这里以我们H7-TOOL的SPI控制器LUA小程序来配置&#xff0c;主要是方便测试1、测试TTL串口&#xff0c;RS232问题&#xff0c;一般会将TX和RX短接&#xff0c;然后上位机回环测试来确定是上位机问题还是串口线问题。或者排查目标板问题&#xff0c;都是非常方便的。 2、这里实测…

作者头像 李华
网站建设 2026/10/7 10:03:15

23、索引创建与格式化全攻略

索引创建与格式化全攻略 1. 生成索引 在标记好所有索引标记后,就可以创建索引了。创建索引的过程因索引是针对单文档还是书籍文件而有所不同。下面将介绍生成标准索引的方法。 1.1 从单文档生成索引 步骤 : 从文件菜单中选择“Generate/Book…”,会弹出相应对话框。 点…

作者头像 李华