更新时间:2024-09-26 15:09:54收藏订阅更新我的文档设置返回文档简介用户可通过 video 组件播放视频,目前暂只支持优酷渠道上传的视频及网络地址的视频,获取优酷视频码指南。相关 api:my.createvideocontext。使用限制●支持基础库版本 1.10.0 及以上,低版本需要做 兼容处理。●不支持 css 动画,使用无效。●自定义竖屏观看视频时两边出现的白色填充:○如果是因为视频的宽高比跟 video 组件的宽高比不一致,请通过 object-fit 进行调整 。○如果是由于 poster 实际的宽高比跟容器的宽高比不一致,请通过 poster-size 进行调整。扫码体验效果示例使用示例代码.axml 示例代码.js 示例代码属性说明表格中 “-” 代表支持。属性类型描述webview 兼容性native 兼容性stylestring内联样式。--classstring外部样式名。--srcstring要播放视频的资源地址,支持网络地址,支持优酷视频编码(支付宝客户端 10.1.75)。 src 支持的协议如下: vid/showid: xmzg2mzc5mzmwma== apfilepath: https://resource/xxx.video。--posterstring视频封面图的 url,支持 jpg、png 等图片,如 https://***.jpg。如果不传的话,默认取视频的首帧图作为封面图。--poster-sizestring当 poster 高宽比跟视频高宽不匹配时,如何显示 poster,设置规则同 background-size 一致。 默认值: contain--object-fitstring当视频大小与 video 容器大小不一致时,视频的表现形式。contain:包含,fill:填充。 默认值: contain--initial-timenumber指定视频初始播放位置,单位 s。基础库 1.9.0 -durationnumber为无法读取时长的视频设置时长,单位 s。--controlsboolean是否显示默认播放控件(底部工具条,包括播放/暂停按钮、播放进度、时间)。 默认值: true--autoplayboolean是否自动播放。 默认值: false--directionnumber设置全屏时视频的方向,不指定则根据宽高比自动判断。有效值为 0(正常竖向), 90(屏幕逆时针 90 度), -90(屏幕顺时针 90 度)基础库 1.12.0 -loopboolean是否循环播放。 默认值: false基础库 1.9.0 -mutedboolean是否静音播放。 默认值: false基础库 1.9.0 -show-fullscreen-btnboolean是否显示全屏按钮。 默认值: true基础库 1.9.0 -show-play-btnboolean是否显示视频底部控制栏的播放按钮。 默认值: true基础库 1.9.0 -show-center-play-btnboolean是否显示视频中间的播放按钮。 默认值: true基础库 1.9.0 -show-mute-btnboolean是否展示工具栏上的静音按钮。 默认值: true基础库 1.13.7 -show-thin-progress-barboolean当底部工具条隐藏时,是否显示细进度条(controls=false 时设置无效)。 默认值: false基础库 1.15.0 -enable-progress-gestureboolean全屏模式下是否开启控制进度的手势。 默认值: false基础库 1.9.0 -mobilenet-hint-typenumber移动网络提醒样式。 ●0 - 不提醒●1 - tip 提醒●2 - 阻塞提醒(无消耗流量大小)●3 - 阻塞提醒(有消耗流量大小提醒)默认值: 1基础库 1.13.0 -onplayeventhandle当开始/继续播放时触发 play 事件。--onpauseeventhandle当暂停播放时触发 pause 事件。--onendedeventhandle当播放到末尾时触发 ended 事件。--ontimeupdateeventhandle播放进度变化时触发,event.detail = {currenttime: '当前播放时间',userplayduration:'用户实际观看时长',videoduration:'视频总时长'}。基础库 1.9.0 -onloadingeventhandle视频出现缓冲时触发。--onerroreventhandle视频播放出错时触发(errorcode 见下面错误码表)。--onfullscreenchangeeventhandle视频进入和退出全屏时触发,event.detail = {fullscreen, direction},direction 取为 vertical 或 horizontal。基础库 1.12.0 -ontapeventhandle点击视频 view 时触发,event.detail = {ptinview:{x:0,y:0}}。--onuseractioneventhandle用户操作事件,event.detail = {tag:"mute", value:0},tag 为用户操作的元素,目前支持的 tag 有:play(底部播放按钮)、centerplay(中心播放按钮)、mute(静音按钮)、fullscreen(全屏按钮)、retry(重试按钮)、mobilenetplay(网络提醒的播放按钮)。--onstopeventhandle视频播放终止。基础库 1.9.0 -onrenderstarteventhandle当视频加载完真正开始播放时触发。基础库 1.13.6 -floating-modestring浮窗设置。暂时不支持全局浮窗。 可选值: ●none:无浮窗。●page:页面内浮窗。默认值:none基础库 1.24.6 暂不支持错误码错误码描述凯发app官方网站的解决方案1未知错误。-400读 ups 信息超时。检查读 ups 信息。1002播放器内部错误。检查播放器内部。1005网络连接失败。检查网络连接。1006数据源错误。检查数据源。1007播放器准备失败。检查播放器。1008网络错误。检查网络。1009搜索视频出错(源出错的一种)。检查源。1010准备超时,也可认为是网络太慢或数据源太慢导致的播放失败。检查是否因网络或数据原因导致的超时错误。1023播放中内部错误(ffmpeg 错误)。检查资源是否符合标准,具体可参考本文中的“支持格式”小节。2004播放过程中加载时间超时。检查并重试。3001audio 渲染出错。检查音频资源是否符合标准。3002硬解码错误。检查设备的硬解码功能是否正常。30010起播超时。检查播放地址是否可正常播放或是否包含中文,检查网速是否正常。支持的视频封装格式ios、android 支持以下视频封装格式: mp4、mov、m4v、3gp、m3u8、flv。支持的编码格式ios、android 支持以下编码格式: h.264、h.265、aac。faqvideo 组件中播放的视频,当用户加载观看视频一次后,再次进行观看的时候是拉取的缓存,还是再次使用网络重新加载的?目前的缓存策略是如果视频是循环播放的,再次观看是拉取的缓存,如果不是循环播放,每次都是网络重新加载。 主要是针对一些循环播放的短视频场景提供缓存能力。缓存中的视频什么时候会清除掉 ?页面销毁或者关闭小程序会清除掉。小程序如何获取视频时长?在视频组件 ontimeupdate 方法中获取。video 组件,把 loop 字段设置为循环播放,在播放第二次的时候,把视频资源删除,发现无法播放 ?虽然再次播放拉取的是缓存中的视频,但是还是会校验视频资源的。出现异常问题自查步骤●原始 axml 中是否包含三要素【id="main-map"】【class="nbcomponentanimation-main-map"】【】●id 不能为【drawing area root】【content root】【renderview】【tilegrid container】【page tiledbacking containment】【ancestor clipping】等保留关键字●id 不能包含一些特殊字符,如【 * 】【 / 】,保证为大小写字母【 - 】【 _ 】组成●id 长度最好保持适中,不要以当前小程序 id、当前 unix 时间戳作为部分内容,导致 id 过长●保证 id 关键字在 axml 的唯一性,若 id 为【main-map】,请尽量不要出现【main-map-wapper】类似的 id 值,可能会生成 wkcompositingview 导致同层组件添加位置出错●可以尝试 raw-controls属性,可解决 h5 的 video 组件在支付宝容器内出现层级过高的问题