更新记录

1.0.0(2024-12-02) 下载此版本

第一个版本


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.8.3 app-vue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

WttoAppVideo

App平台HTML5的video标签, 支持HTML5的video元素的全属性以及全方法.

由于uniapp原生video标签的层级问题,导致无法跟随滚动,遮盖住页面的弹窗等问题,所以在App平台使用renderjs渲染HTML的video标签。

具体详情可查看 MDN文档

属性

名称 类型 必填/默认值 备注
src String 必填 要嵌到页面的视频的 URL
autoplay Boolean false 声明该属性后,视频会尽快自动开始播放,不会停下来等待数据全部加载完成。
controls Boolean false 如果存在该属性,浏览器会在视频底部提供一个控制面板,允许用户控制视频的播放,包括音量、拖动进度、暂停或恢复播放。
controlslist Array [] 当浏览器显示视频底部的播放控制面板(例如,指定了 controls 属性)时,controlslist 属性会帮助浏览器选择在控制面板上显示哪些 video 元素控件。可选值有: nodownload,nofullscreen,noremoteplayback
crossorigin String '' 指明是否使用 CORS 来获取相关视频。可选值有: anonymous,use-credentials
disablepictureinpicture Boolean false 防止浏览器显示画中画上下文菜单或在某些情况下自动请求画中画模式。
disableremoteplayback Boolean false 用于在使用有线(HDMI、DVI 等)和无线技术(Miracast、Chromecast、DLNA、AirPlay 等)连接设备时,禁用远程播放功能。
width String '100%' 视频显示区域的宽度
height String '100%' 视频显示区域的高度
loop Boolean false 指定后会在视频播放结束的时候,自动返回视频开始的地方,继续播放。
muted Boolean false 指明在视频中音频的默认设置。设置后,音频会初始化为静音。默认值是 false, 意味着视频播放的时候音频也会播放。
playsinline Boolean false 指明视频将内嵌(inline)播放,即在元素的播放区域内。请注意,没有此属性并不意味着视频始终是全屏播放的。
poster String '' 报帧图片 URL,用于在视频处于下载中的状态时显示。如果未指定该属性,则在视频第一帧可用之前不会显示任何内容,然后将视频的第一帧会作为海报(poster)帧来显示。
preload String 'metadata' 预加载方案。 可选值有: none,metadata,auto

事件

名称 说明
canplay 浏览器可以播放媒体,但估计尚未缓冲足够的数据,无法流畅播放至视频结束,期间可能出现停顿以便缓冲更多内容。
canplaythrough 浏览器估计它可以不间断地播放到媒体末尾,无需暂停以进行内容缓冲。
complete 已终止 OfflineAudioContext 的渲染。
durationchange duration 属性已更新。
emptied 媒体内容已清空;例如,如果媒体已加载(或部分加载)完成,并调用 load() 方法重新加载。
ended 视频停止播放,因为媒体已经到达结束点。
error 获取媒体数据时出现错误,或者资源的格式不受支持。
loadeddata 媒体的首帧已加载完成。
loadedmetadata 元数据已加载完毕。
loadstart 浏览器开始加载资源时触发。
pause 播放已暂停。
play 播放已开始。
playing 已经在暂停或因数据不足而延迟后准备好进行播放。
progress 在浏览器加载资源期间周期性触发。
ratechange 播放速率发生变化。
seeked 拖动进度(seek)操作完成。
seeking 拖动进度操作开始。
stalled 用户代理尝试获取媒体数据,但意外地无法获取数据。
suspend 媒体数据加载已暂停。
timeupdate 由 currentTime 属性指示的播放时间已更新。
volumechange 音量发生变化。
waiting 由于暂时缺少数据而停止播放。

方法

名称 说明
play 尝试播放媒体
pause 暂停媒体的播放,如果媒体已经处于暂停状态,该方法没有效果。
load 重置媒体成初始化状态,选择一个播放源,为载入媒体重新播放做准备。
addTextTrack 添加字幕
canPlayType 判断传递的媒体格式参数是否能够被播放。

示例

<template>
  <!-- #ifdef APP-PLUS -->
  <wtto-app-video ref="appVideoRef" src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/uni-app-video-courses.mp4" @play="isPlaying = true" @pause="isPlaying = false"></wtto-app-video>
  <!-- #endif -->
</template>

<script setup>
import {ref} from 'vue'

const isPlaying = ref(false)

const appVideoRef = ref(null)

onHide(() => {
  if (isPlaying.value) {
    appVideoRef.value?.pause()
  }
})
</script>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问