v3.70.0 起支持同层渲染,更多请参考原生组件。
解释:视频。video 组件默认宽度 300px 、高度 225px 。该组件还提供丰富的 API 来控制视频的播放、暂停、全屏、弹幕等,详见 swan.createVideoContext 。
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 | Web 态说明 |
---|---|---|---|---|---|---|
src | String | 是 | 视频的资源地址,支持云文件 ID | 3.120.2 | 不支持设置云文件 ID | |
title | String | 否 | 视频标题,全屏时在视频顶部展示 | 3.120.2 | 暂不支持,video 全屏模式无标题 | |
initial-time | Number | 否 | 指定视频初始播放位置 | - | - | |
controls | Boolean | true | 否 | 是否显示默认播放控件(播放/暂停按钮、播放进度、时间) | - | - |
autoplay | Boolean | false | 否 | 是否自动播放 | - | 存在浏览器兼容问题,详见下方 Web 态 Tip1 |
loop | Boolean | false | 否 | 是否循环播放 | - | - |
muted | Boolean | false | 否 | 是否静音播放 | - | - |
objectFit | String | contain | 否 | 当视频大小与 video 容器大小不一致时,视频的表现形式。contain:包含;fill:填充;cover:覆盖 | - | - |
poster | String | 否 | 视频封面的图片网络资源地址,支持云文件 ID | 3.120.2 | - | |
page-gesture | Boolean | false | 否 | 在非全屏模式下,是否开启使用手势调节亮度与音量,兼容 vslide-gesture 属性 | - | 此属性对 Web 态不生效 |
direction | Number | 否 | 按设置的视频全屏方向进入全屏。不指定视频全屏方向时则根据设备方向判断全屏方向。0:正常竖向;90:屏幕顺时针 90 度;-90:屏幕逆时针 90 度 | 3.90.29 | 暂不支持 | |
show-progress | Boolean | true | 否 | 若不设置,宽度大于 240 时才会显示 | - | - |
show-fullscreen-btn | Boolean | true | 否 | 是否显示全屏按钮 | - | - |
enable-progress-gesture | Boolean | true | 否 | 是否开启使用手势控制进度 | - | 此属性对 Web 态不生效 |
danmu-list | Array. | 否 | 弹幕列表 | - | - | |
danmu-btn | Boolean | false | 否 | 是否显示弹幕按钮,只在初始化时有效,不能动态变更 | - | 此属性对 Web 态不生效 |
enable-danmu | Boolean | false | 否 | 是否展示弹幕,只在初始化时有效,不能动态变更 | - | - |
show-play-btn | Boolean | true | 否 | 是否显示视频底部控制栏的播放按钮 | - | - |
show-center-play-btn | Boolean | true | 否 | 是否显示视频中间的播放按钮 | - | Web 态下,中间播放按钮暂不支持隐藏,设置为 false 不生效 |
show-mute-btn | Boolean | false | 否 | 是否显示静音按钮 | 3.120.2 | Web 态下,静音按钮暂不支持隐藏,设置为 false 不生效 |
show-no-wifi-tip | Boolean | true | 否 | 非 wifi 环境下是否显示继续播放浮层 | 3.100.4 | 此属性对 Web 态不生效 |
vslide-gesture | Boolean | false | 否 | 非全屏模式下,是否开启亮度与音量调节手势,兼容 page-gesture 属性 | 3.120.2 | 此属性对 Web 态不生效 |
vslide-gesture-in-fullscreen | Boolean | true | 否 | 全屏模式下,是否开启亮度与音量调节手势 | 3.120.2 | 此属性对 Web 态不生效 |
enable-play-gesture | Boolean | false | 否 | 是否开启播放手势,即双击切换播放/暂停 | 3.120.2 | 此属性对 Web 态不生效 |
show-rate-btn | Boolean | false | 否 | 是否显示倍速播放按钮 | 3.170.2 | - |
show-vslide-btn-in-fullscreen | Boolean | true | 否 | 全屏模式下,是否显示侧边栏控制按钮 | 3.170.2 | 此属性对 Web 态不生效 |
silent-play | Boolean | false | 否 | 是否进入无声视频模式,进入无声视频模式后,视频将静音播放且不响应系统物理音量变化,点击播放器提示无声视频,手势调节失效 | 3.170.2 | 此属性对 Web 态不生效 |
bindplay | EventHandle | 否 | 当开始播放时触发 play 事件 | - | - | |
bindpause | EventHandle | 否 | 当暂停播放时触发 pause 事件 | - | - | |
bindended | EventHandle | 否 | 当播放到末尾时触发 ended 事件 | - | - | |
bindtimeupdate | EventHandle | 否 | 播放进度变化时触发。 | - | - | |
bindfullscreenchange | EventHandle | 否 | 当视频进入和退出全屏时触发。 | - | - | |
bindwaiting | EventHandle | 否 | 视频出现缓冲时触发 | - | - | |
binderror | EventHandle | 否 | 视频播放出错时触发 | - | Web 态目前触发 error 后直接展示默认错误信息,不执行开发者的 error 回调函数 | |
bindloadedmetadata | EventHandle | 否 | 视频元数据加载完成时触发。 | 3.180.1 | - |
值 | 说明 |
---|---|
contain | 包含 |
fill | 填充 |
cover | 覆盖 |
值 | 说明 |
---|---|
0 | 正常竖向 |
90 | 屏幕顺时针 90 度 |
-90 | 屏幕逆时针 90 度 |
格式 | Android | iOS | Web 态 |
---|---|---|---|
mp4 | 是 | 是 | 是 |
mov | 是 | 是 | 是 |
m4v | 是 | 是 | 是 |
3gp | 是 | 是 | 否 |
avi | 是 | 是 | 否 |
m3u8 | 是 | 是 | 是 |
webm | 是 | 否 | 否 |
flv | 是 | 是 | 否 |
mkv | 是 | 是 | 否 |
rmvb | 是 | 是 | 否 |
rm | 是 | 是 | 否 |
ogg | 是 | 是 | 是 |
格式 | Android | iOS |
---|---|---|
H.263 | 是 | 是 |
H.264 | 是 | 是 |
HEVC | 是 | 是 |
MPEG-4 | 是 | 否 |
VP8 | 是 | 否 |
VP9 | 是 | 否 |
跳转编辑工具
在开发者工具中打开
在 WEB IDE 中打开
扫码体验
代码示例
请使用百度APP扫码
style="width: 100%;"
id="myVideo"
title="这是title"
src="{{src}}"
initial-time="{{initialTime}}"
duration="48"
controls="{{controls}}"
autoplay="{{false}}"
loop="{{false}}"
muted="{{voice}}"
objectFit="{{objectFit}}"
poster="{{posterSrc}}"
page-gesture="{{pageGesture}}"
direction="{{0}}"
show-progress="{{progressGesture}}"
show-fullscreen-btn="{{fullscreenBtn}}"
enable-progress-gesture="{{false}}"
danmu-list="{{danmuList}}"
danmu-btn="{{true}}"
enable-danmu="{{true}}"
show-play-btn="{{playBtn}}"
show-center-play-btn="{{centerPlayBtn}}"
show-mute-btn="{{true}}"
show-no-wifi-tip="{{noWifiTip}}"
show-rate-btn="{{showRateBtn}}"
show-vslide-btn-in-fullscreen="{{showVslideBtnInFullscreen}}"
silent-play="{{silentPlay}}"
vslide-gesture="{{true}}"
vslide-gesture-in-fullscreen="{{true}}"
enable-play-gesture="{{true}}"
bindplay="videoPlay"
bindpause="videoPause"
binderror="videoError"
bindended="videoEnded"
bindwaiting="videoWaiting"
bindtimeupdate="videoTimeupdate"
bindfullscreenchange="fullscreen"
bindloadedmetadata="loadedmetadata">
弹幕内容
指定初始播放位置为20s(播放前点击)
显示默认播放控件
设置循环播放
点击{{voice ? '有音':'无音'}}
包含容器
填充容器
覆盖容器
开启手势调节亮度与音量
{{fullscreenBtn?'不显示':'显示'}}全屏按钮
去掉全屏播放时手势控制进度
{{playBtn ? '': '不'}}显示视频底部控制栏的播放按钮
{{centerPlayBtn ? '': '不'}}显示视频中间的播放按钮
wifi/4g浮层
切换视频地址
{{showRateBtn ? '隐藏' : '显示'}}倍速播放按钮
{{showVslideBtnInFullscreen ? '隐藏': '显示'}}全屏模式下的侧边栏控件
{{silentPlay ? '关闭': '开启'}}无声视频模式
设计指南
默认情况,会在 video 组件的中间和左下角显示 2 个 play-btn,请根据小程序自身需要合理配置。不建议同时使用 2 个 play-btn,过多元素会增加用户理解成本。
正确
只用一个 play-btn,指引明确
错误
同时使用2个 play-btn,增加用户理解成本
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
style="width: 100%;"
id="myVideo"
src="{{src}}"
controls="{{controls}}">
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
style="width: 100%;"
id="myVideo"
src="https://b.bdstatic.com/swan-temp/940fe716b0eaad38f47b209d61657490.mp4"
title="全屏title">
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
style="width: 100%;"
id="myVideo"
src="{{src}}"
direction="{{direction}}">
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
style="width: 100%;"
id="myVideo"
src="https://b.bdstatic.com/swan-temp/940fe716b0eaad38f47b209d61657490.mp4"
show-progress="{{true}}">
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
style="width: 100%;"
id="myVideo"
src="{{src}}"
show-no-wifi-tip="{{true}}">
show-play-btn
属性和show-center-play-btn
属性值为true
可能会出现失焦视频播放控件不显示的情况,因此建议在视频列表场景中,将video
组件的show-play-btn
属性设置为false
。案例分析:
出于用户体验、节省流量等原因,OS 的 Safari、版本号 66 及以上的 Chrome、以及大部分国产移动浏览器禁止视频在非静音状态下自动播放。因此,Web 态针对 video 组件中 autoplay 属性设置为 true 后做了如下处理:
由于浏览器种类众多,如出现自动播放相关新问题,请将案例反馈给我们,我们将统一记录并反馈进展。
由于浏览器无法解析资源格式。因此对于视频类资源,应在地址中通过后缀名显式声明资源格式,否则可能会导致视频无法正常播放:
案例分析:
微信、百度 App、UC 等浏览器实现了自身的播放器控件,劫持了默认内核提供的播放器样式和逻辑,从而使得基于 H5 video 实现的 Web 态 video 组件出现了以下问题:
解决方案:
Web 态针对不同浏览器做了尽可能的修复,以解决此问题。已修复的包括 QQ、Android 微信、QQ 浏览器等基于 X5 内核的平台,百度 App。但由于浏览器种类众多,有可能存在我们暂未覆盖到的情况。如仍遇到上述问题,请您将案例反馈给我们,我们将统一记录并反馈进展。
案例分析:
微信、QQ、QQ 浏览器等实现了自身的播放控件,从而使得 video 组件在退出全屏时出现视频暂停播放的问题。
解决方案:
Web 态针对 Android 下的微信、QQ 等基于 X5 内核的平台在退出全屏时展示一个中间播放按钮,供用户点击来继续播放视频。OS 下因无法监听退出全屏事件,此问题暂无法解决。
网站题目:创新互联百度小程序教程:video视频
分享URL:http://www.csdahua.cn/qtweb/news4/462254.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网