JavaScript之视频相关API

目录

一、视频标签基本API

1. play(开始)

  当我们想在网页中想让视频播放的时候,需要通过一个button按钮来实现,,通过按钮的点击事件,然后让视频开始播放

javascript 复制代码
startNode.onclick=function(){
needVideo.play();
}

2.muted(静音)

  当我们想打开网页的时候让视频自动播放,需要设置视频为静音状态。此时打开网页,视频会自动播放。

javascript 复制代码
<video   muted></video>

3. pause(暂停)

  当我们想在网页中想让视频暂停的时候,也需要通过一个button按钮来实现,,通过按钮的点击事件,然后让视频开始播放。

javascript 复制代码
pauseNode.onclick=function(){
needVideo.pause();
}

4. volume(声音控制)

  在网页中,声音控制需要通过volume来控制,volume的取值范围为0~1。

javascript 复制代码
volumeNode.onclick=function(){
	needVideo.volume=this.value;
}

5. webkitRequestFullScreen(全屏)

  在网页中,全屏效果通过webkitRequestFullScreen来实现,同时这个也需要通过一个button按钮。

javascript 复制代码
webkitNode.onclick=function(){
	needVideo.webkitRequestFullScreen();
}

  webkitRequestFullScreen也可以用来全屏图片和div盒子,但是很少用来将div盒子全屏。

二、视频标签进度条API

1. 总时间API(duration)

  当我们需要查看总时间的时候,只需要console.log当前视频的duration即可。也可以是在网页中放入一个盒子,通过innerHtml的形式来查看。

javascript 复制代码
setTimeout(function(){
	console.log(needVideo.duration);
},50);

2.当前时间API(currentTime)

  当我们需要实时查看当前视频时间的时候,我们可以通过currentTime来查看。

方法1:我们可以通过定时器来查看,但是这种方法占用资源太多,但是非常简单。

javascript 复制代码
setInterval(function(){
	console.log(needVideo.currentTime);
},50);

方法2:通过事件监听的方式

javascript 复制代码
needVideo.addEventListener('timeupdate',funtion(){
	nowTime.innerText=needVideo.duration;   //nowTime是一个span;
});

二、进度条拉动效果

  进度条拉动效果是视频播放过程中常用的一个效果,当视频播放的时候,进度条会随着视频的播放而移动,同时我们拉动进度条的时候,视频进度也会跟着变动。

javascript 复制代码
    var go = document.getElementById('go');
    needVideo.addEventListener('timeupdate', function () {
        nowTime.innerText = needVideo.currentTime;
        go.value = needVideo.currentTime / needVideo.duration * 100;
    }, 50);
    go.onmousedown = function () {
        needVideo.pause();
    }
    go.onmouseup = function () {
        needVideo.play();
    }
    go.oninput = function () {
        //总时间*百分比=当前时间
        needVideo.currentTime = needVideo.duration * (this.value / 100);
    }
    //全屏
    fullScreenNode.onclick = function () {
        if (needVideo.webkitRequestFullScreen) {
            //谷歌全屏
            needVideo.webkitRequestFullScreen();
        } else if (needVideo.mozRequestFullScreen) {
            //火狐全屏
            needVideo.mozRequestFullScreen();
        } else if (needVideo.msRequestFullScreen) {
            //IE全屏
            needVideo.msRequestFullScreen();
        } else if (needVideo.requestFullScreen) {
            //特殊格式
            needVideo.requestFullScreen();
        }
    }
相关推荐
平头哥AI7 分钟前
Day 01 | go run 跑通第一个 Go 程序,go build 留下一个能拷走的 exe
开发语言·后端·golang
小小尚@42 分钟前
WebGIS/ECharts 地图开发|MapLand 在线行政区划边界一键下载 GeoJSON 工具
前端·javascript·echarts
葡萄城技术团队1 小时前
工业数据可视化:使用活字格 AIcoding + Three.js 构建轻量化三维设备监控大屏
开发语言·javascript·信息可视化
qiaosaifei1 小时前
JAVA老项目中有大量的类名_编译时报找不到符号错误
java·开发语言
聪明蛋子哟1 小时前
MCP协议深度落地:如何用Python/Java双语言实现统一的工具调用网关?
java·开发语言·python
刘广睿1 小时前
视频字幕从提取到烧录:SRT/ASS 格式与 ffmpeg 字幕滤镜全流程
ffmpeg·音视频·效率工具·剪辑·字幕
一晌小贪欢1 小时前
python-第27天:Python面向对象详解
开发语言·python·数据可视化·面向对象·python办公
默_笙1 小时前
🚍 一条 Todo 的奇幻漂流:TypeScript 全栈类型安全的"护照检查"
前端·javascript
迪康Defender2 小时前
公用电脑责任追溯难?迪康端点安全一体化管理系统用户模式详解
java·运维·开发语言·网络·其他·安全
16月6日-晴2 小时前
Java面向对象——接口
java·开发语言