html5视频常用API接口「建议收藏」

html5视频常用API接口「建议收藏」一、虽然有的属性是boolean类型,但仍旧建议按照XHTML书写(属性名=”属性值”)格式,避免出现错误(下面加粗的属性为常用属性)属性值功能描述controlscontrols是否显

大家好,又见面了,我是你们的朋友全栈君。

一、虽然有的属性是boolean类型,但仍旧建议按照XHTML书写(属性名=”属性值”)格式,避免出现错误 (下面加粗的属性为常用属性)

属性

功能描述

controls

controls

是否显示播放控件

autoplay

autoplay

设置是否打开浏览器后自动播放

width

Pilex(像素)

设置播放器的宽度

height

Pilex(像素)

设置播放器的高度

loop

loop

设置视频是否循环播放(即播放完后继续重新播放)

preload

preload

设置是否等加载完再播放

src

url

设置要播放视频的url地址

poster

imgurl

设置播放器初始默认显示图片

autobuffer

autobuffer

设置为浏览器缓冲方式,不设置autoply才有效

 

演示:

<video controls="controls" width="500px" height="500px" loop autoplay  poster="imgUrl">
    <source src="黑客之都.mp4" type="video/mp4"/>
    <track src="a.vtt" label="中文" srclang="zh" kind="subtitles" default/>
</video>

 

 

二、.video标签API方法:Video标签也提供了比较人性化的API接口方法,供写JS时直接调用,方便简单

 

API

事件说明

addTextTrack()

向音频/视频添加新的文本轨道。

play

video.play();    播放视频

pause

video.pause();  暂停播放视频

load

video.load();   将全部属性回复默认值,视频恢复重新开始状态

canPlayType

var support = videoid.canPlayType(‘video/mp4’);   判断浏览器是否支持当前类型的视频格式

返回值:

空字符串:不支持

Maybe:可能支持

Probably:完全支持

 

关于video标签的API接口在JS中用法如下:

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4     <style>
 5         video::cue{
 6             background-color:transparent;
 7             color:white;
 8             font-size:20px;
 9             line-height: 100px;
10         }
11     </style>
12 </head>
13 <body>
14 
15 <video controls="controls" id="video1">
16     <source src="黑客之都.Hackerville.S01E01.720P.mp4" type="video/mp4"/>
17     <track src="a.vtt" label="中文字幕" srclang="zh" kind="subtitles" default/>
18 </video>
19 <button onclick="isPlay(this)">播放</button>
20 <button onclick="replay()">重新播放</button>
21 <button onclick="isPlayType()">浏览器支持</button>
22 
23 <script>
24     var video1 = document.getElementById("video1");  //括号内为video标签的id
25     //播放视频(点击播放按钮,后变成暂停)
26    function isPlay(obj1){
27        if(video1.paused){    //paused属于视频api属性
28            obj1.innerHTML="暂停";
29            video1.play();
30     }else{
31            obj1.innerHTML="播放";
32            video1.pause();
33     }
34 }
35 
36 //重新从开头播放
37 function replay(){
38        video1.load();
39 }
40 
41 //判断要播放的视频格式当前浏览器是否支持
42 function isPlayType(){
43        var support = video1.canPlayType("video/mp4");
44        console.log(support);  //返回结果:空字符串、maybe(可能支持)、probably(支持)
45 }
46 </script>
47 </body>
48 </html>

 

 

三、video标签API属性: Video不仅提供了API接口,还提供了许多的API属性,方便在JS中做判断,如下:大部分属性通过boolean值判断

 

API属性

事件说明

duration

返回媒体的播放总时长,单位秒

loop

是否循环播放

muted

是否静音

paused

是否暂停

currentTime

当前播放时间(单位:秒)

volume

音量值(0~1)

networkState

返回当前网络状态

playbackRate

播放的倍速(加速、减速播放)(-2~2)

src

当前视频源的URL

ended

返回当前播放是否结束标志

error

返回当前播放的错误状态

initialTime

返回初始播放的位置

mediaGroup

当前音视频所属媒体组 (用来链接多个音视频标签)

played

当前播放部件已经播放的时间范围(TimeRanges对象)

preload

页面加载时是否同时加载音视频

readyState

返回当前的准备状态

seekable

返回当前可跳转部件的时间范围(TimeRanges对象)

audioTracks

返回可用的音轨列表(MultipleTrackList对象)

autoplay

媒体加载后自动播放

buffered

返回缓冲部件的时间范围(TimeRanges对象)

controller

返回当前的媒体控制器(MediaController对象)

controls

显示播控控件

crossOrigin

CORS设置

currentSrc

返回当前媒体的URL

defaultMuted

缺省是否静音

defaultPlaybackRate

播控的缺省倍速

seeking

返回用户是否做了跳转操作

startOffsetTime

返回当前的时间偏移(Date对象)

textTracks

返回可用的文本轨迹(TextTrackList对象)

videoTracks

返回可用的视频轨迹(VideoTrackList对象)

演示:

1 <script>
2 function setting(){
3      video1.muted=true;          //设置静音
4      video1.volume=0.2;           //设置音量,1等于100%
5      video1.playbackRate=2;     //2倍播放速度
6      video1.controls=false;    //不显示播控控件 7 }
8 </script>

 四、音频/视频事件

事件 描述
abort 当音频/视频的加载已放弃时触发。
canplay 当浏览器可以开始播放音频/视频时触发。
canplaythrough 当浏览器可在不因缓冲而停顿的情况下进行播放时触发。
durationchange 当音频/视频的时长已更改时触发。
emptied 当目前的播放列表为空时触发。
ended 当目前的播放列表已结束时触发。
error 当在音频/视频加载期间发生错误时触发。
loadeddata 当浏览器已加载音频/视频的当前帧时触发。
loadedmetadata 当浏览器已加载音频/视频的元数据时触发。
loadstart 当浏览器开始查找音频/视频时触发。
pause 当音频/视频已暂停时触发。
play 当音频/视频已开始或不再暂停时触发。
playing 当音频/视频在因缓冲而暂停或停止后已就绪时触发。
progress 当浏览器正在下载音频/视频时触发。
ratechange 当音频/视频的播放速度已更改时触发。
seeked 当用户已移动/跳跃到音频/视频中的新位置时触发。
seeking 当用户开始移动/跳跃到音频/视频中的新位置时触发。
stalled 当浏览器尝试获取媒体数据,但数据不可用时触发。
suspend 当浏览器刻意不获取媒体数据时触发。
timeupdate 当目前的播放位置已更改时触发。
volumechange 当音量已更改时触发。
waiting 当视频由于需要缓冲下一帧而停止时触发。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155505.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OpenCV-Python (Sobel算子)[通俗易懂]

    OpenCV-Python (Sobel算子)[通俗易懂]Sobel算子Sobel算子的基本概念Sobel算子是一个主要用于边缘检测的离散微分算子(discretedifferentiationoperator)。它结合了高斯平滑和微分求导,用来计算图像灰度函数的近似梯度。在图像的任意一点使用此算子,都将会产生对应的梯度矢量或是其法矢量。原型Sobel算子依然是一种过滤器,只是其是带有方向的。在OpenCV-Pyt…

    2022年7月14日
    21
  • 工程师必备APP抓包技能

    工程师必备APP抓包技能奇技·指南一台上网电脑就能完成APP抓包分析一条龙服务。这是一篇APP抓包分析总结性文章,采用APP模拟器与Web调试代理工具组合玩法。从此APP抓包分析能力变得…

    2022年5月30日
    26
  • pycharm的库安装不成功_pip安装第三方库拒绝访问

    pycharm的库安装不成功_pip安装第三方库拒绝访问我首先使用GUI的方法安装pandas,十几分钟了吧依然显示Installing,最后提示失败,我就在AvailablePackage窗口点击Managerepositories,然后更换了国内的库,但是依然不能安装成功,错误提示如下:Lookinginindexes:http://pypi.douban.com/simple/WARNING:Therepositorylocatedatpypi.douban.comisnotatrustedorsecurehost

    2022年8月28日
    4
  • 超详细MySQL安装及基本使用教程[通俗易懂]

    超详细MySQL安装及基本使用教程[通俗易懂]一、下载MySQL首先,去数据库的官网http://www.mysql.com下载MySQL。点击进入后的首页如下: 然后点击downloads,community,选择MySQLCommunityServer。如下图: 滑到下面,找到RecommendedDownload,然后点击gotodownloadpage。如下图: 点击download进入下载页面选择No…

    2022年4月27日
    50
  • java把string转int类型_java把String类型转换为int类型的方法

    java把string转int类型_java把String类型转换为int类型的方法java把String类型转换为int类型的方法发布时间:2020-08-2014:32:03来源:亿速云阅读:73作者:小新这篇文章将为大家详细讲解有关java把String类型转换为int类型的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在java中,实现String类型转换为int类型的方法有:Integer.parseInt(String)方法、…

    2025年7月9日
    3
  • qlineedit自动补全_qlineedit只能输入数字

    qlineedit自动补全_qlineedit只能输入数字转载:http://www.cnblogs.com/csuftzzk/p/qss_lineedit_completer.html?utm_source=tuicool&utm_medium=referral显示密码显示密码时,利用lineedit-password-character属性更改密文显示字符内容。QLineEdit[echoMode=”2″]{lineedit…

    2025年6月25日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号