html中,audio和video使用时的注意事项

html-css012

html中,audio和video使用时的注意事项,第1张

HTML5中audio与video标签的使用

这篇文章主要介绍了关于HTML5中audio与video标签的使用 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

最近做的微信分享页面中有大量的语音播放和视频展示,相关的好多方法属性以前都没接触过,现在记录下来!

1. 首先,了解关于两个标签的基本信息:

两个标签的基本属性:

属性 描述

audioTracks 返回表示可用音轨的 AudioTrackList 对象

autoplay 设置或返回是否在加载完成后随即播放音频/视频

buffered 返回表示音频/视频已缓冲部分的 TimeRanges 对象

controller 返回表示音频/视频当前媒体控制器的 MediaController 对象

controls 设置或返回音频/视频是否显示控件(比如播放/暂停等)

crossOrigin 设置或返回音频/视频的 CORS 设置

currentSrc 返回当前音频/视频的 URL

currentTime 设置或返回音频/视频中的当前播放位置(以秒计)

defaultMuted 设置或返回音频/视频默认是否静音

defaultPlaybackRate 设置或返回音频/视频的默认播放速度

duration 返回当前音频/视频的长度(以秒计)

ended 返回音频/视频的播放是否已结束

error 返回表示音频/视频错误状态的 MediaError 对象

loop 设置或返回音频/视频是否应在结束时重新播放

mediaGroup 设置或返回音频/视频所属的组合(用于连接多个音频/视频元素)

muted 设置或返回音频/视频是否静音

networkState 返回音频/视频的当前网络状态

paused 设置或返回音频/视频是否暂停

playbackRate 设置或返回音频/视频播放的速度

played 返回表示音频/视频已播放部分的 TimeRanges 对象

preload 设置或返回音频/视频是否应该在页面加载后进行加载

readyState 返回音频/视频当前的就绪状态

seekable 返回表示音频/视频可寻址部分的 TimeRanges 对象

seeking 返回用户是否正在音频/视频中进行查找

src 设置或返回音频/视频元素的当前来源

startDate 返回表示当前时间偏移的 Date 对象

textTracks 返回表示可用文本轨道的 TextTrackList 对象

videoTracks 返回表示可用视频轨道的 VideoTrackList 对象

volume 设置或返回音频/视频的音量

两个标签的基本方法:

方法 描述

addTextTrack() 向音频/视频添加新的文本轨道

canPlayType() 检测浏览器是否能播放指定的音频/视频类型

load() 重新加载音频/视频元素

play() 开始播放音频/视频

pause() 暂停当前播放的音频/视频

两个标签中的事件:

事件 描述

abort 当音频/视频的加载已放弃时

canplay 当浏览器可以播放音频/视频时

canplaythrough 当浏览器可在不因缓冲而停顿的情况下进行播放时

durationchange 当音频/视频的时长已更改时

emptied 当目前的播放列表为空时

ended 当目前的播放列表已结束时

error 当在音频/视频加载期间发生错误时

loadeddata 当浏览器已加载音频/视频的当前帧时

loadedmetadata 当浏览器已加载音频/视频的元数据时

loadstart 当浏览器开始查找音频/视频时

pause 当音频/视频已暂停时

play 当音频/视频已开始或不再暂停时

playing 当音频/视频在已因缓冲而暂停或停止后已就绪时

progress 当浏览器正在下载音频/视频时

ratechange 当音频/视频的播放速度已更改时

seeked 当用户已移动/跳跃到音频/视频中的新位置时

seeking 当用户开始移动/跳跃到音频/视频中的新位置时

stalled 当浏览器尝试获取媒体数据,但数据不可用时

suspend 当浏览器刻意不获取媒体数据时

timeupdate 当目前的播放位置已更改时

volumechange 当音量已更改时

waiting

当视频由于需要缓冲下一帧而停止

2. 在项目中的使用:在视频没有加载出来的时候需要显示这个视频的第一帧图片,我这里第一帧图片是后台传过来的,查了相关资料原来video标签有个属性poster专门用来显示视频的第一帧图片,相当于视频封面图。poster 属性用于设置或返回视频的 poster 属性值。这个属性描述了在视频加载时或在用户点击播放按钮前显示的图片。如果不包含该属性,视频的第一帧将被用来代替显示。

<p class="newsInfo" v-for=" item in newsFragment">

<p class="text">{{item.fragment_text_describe}}</p>

<p v-if="item.fragmentFile" v-for="items in item.fragmentFile">

<img v-if="items.fragment_type==1" :src="items.fragment_url" alt="">

<video v-else :poster="items.fileCover" controls :src="items.fragment_url"></video>

</p>

</p>

在音频播放的时候浏览器不一定支持该种类型的音频,所以要做一个判断:用canPlayType() 方法检查浏览器是否能播放指定的音频/视频类型。canPlayType() 方法可返回下列值之一:

"probably" - 浏览器最可能支持该音频/视频类型

"maybe" - 浏览器也许支持该音频/视频类型

"" - (空字符串)浏览器不支持该音频/视频类型

使用语法:

audio.canPlayType("mp3"))

相关推荐:

深入了解HTML5之sessionStorage对象

HTML5的video标签操作视频详解

以上就是HTML5中audio与video标签的使用 的详细内

一般插件只支持MP3,鱼和熊掌很难兼得,如果考虑浏览器兼容性,那用flash无疑是最好,如果考虑格式的兼容性,则支持html5的浏览器直接用audio标签最好。这个确实是棘手的问题,百度是进行了判断来播放的。我们这因为技术有限,后台进行了转码,推荐你看看jplayer和flowplayer,这两个是比较常见的开源音频插件,但不幸的是都只支持MP3格式

请采纳答案,支持我一下。