更新记录
1.0.2(2025-02-18) 下载此版本
修改了部分bug
1.0.1(2025-02-18) 下载此版本
修改了部分bug
1.0.0(2025-02-18) 下载此版本
初始版本
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 4.23 app-vue | √ | √ | √ | √ | √ | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
√ | √ | √ | √ | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
zmt-circular-progress
模版中是采用了uniapp基础组件<video></video>,可以自定义宽高、播放视频l链接,直接返回截取视频的第一针和视频链接地址。默认截取的图片大小为原视频的1/2,也就是宽和高都会缩小一半,如果想改变尺寸,请自行到插件中心去修改,下面有详细的修改方法。
使用方法:
配置easycom规则后,自动按需引入,无需import组件,直接引用即可。
<template>
<view class="index-box">
<zmt-capture-video-image videoPath="https://mp-2298d5e4-aa54-4efc-a8b7-bbb75295a007.cdn.bspapp.com/cloudstorage/00a5bd21-d2e3-4316-9fa3-13b3a2f353ff.mp4" @result="videoImagePath"></zmt-capture-video-image>
<!--视频主图-->
<view class="left video-image">
</view>
</view>
<!--音频播放列表-->
</template>
调用页面完整代码
<template>
<view class="index-box">
<zmt-capture-video-image videoPath="https://mp-2298d5e4-aa54-4efc-a8b7-bbb75295a007.cdn.bspapp.com/cloudstorage/00a5bd21-d2e3-4316-9fa3-13b3a2f353ff.mp4" @result="videoImagePath"></zmt-capture-video-image>
<!--视频主图-->
<view class="left video-image">
</view>
</view>
<!--音频播放列表-->
</template>
<style scoped>
.video-image{wdith:80%;height:300px;margin-left:10%;}
.index-box{width:100%;height:300px;}
</style>
<script>
export default {
data() {
return {
}
},
methods: {
videoImagePath(result){
console.log('截取的图片结果',result);
}
}
}
</script>
所有的大小值单位均为px
插件属性
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
isSHowVideo | bool | true | 是否显示视频播放控件,若为false,则只获取第一针图片 |
controls | bool | true | 是否显示视频播放控件(isShowVideo为true时有效) |
width | string | 100% | 视频宽度,必须带上尺寸单位,如:300px |
height | string | 225px | 视频高度,必须带上尺寸单位,如:225px |
autoplay | bool | false | 是否自动播放 |
loop | bool | false | 是否循环播放 |
muted | bool | false | 是否静音播放 |
showFullscreenBtn | bool | true | 是否显示全屏按钮 |
showProgress | bool | true | 是否显示进度条 |
poster | string | null | 视频封面地址 |
objectFit | string | contain | 当视频大小与 video 容器大小不一致时,视频的表现形式。contain:包含,fill:填充,cover:覆盖 |
插件事件
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
@fullscreenclick | EventHandle | 视频播放全屏播放时点击事件。event.detail = { screenX:"Number类型,点击点相对于屏幕左侧边缘的 X 轴坐标", screenY:"Number类型,点击点相对于屏幕顶部边缘的 Y 轴坐标", screenWidth:"Number类型,屏幕总宽度", screenHeight:"Number类型,屏幕总高度"} | |
@error | EventHandle | 视频播放出错时触发 | |
@play | EventHandle | 视频播放时触发 | |
@pause | EventHandle | 视频暂停时触发 | |
@ended | EventHandle | 视频播放结束时触发 | |
@timeupdate | EventHandle | 播放进度变化时触发,event.detail = {currentTime, duration} 。触发频率 250ms 一次 |
二次开发说明
如果你想更改截取的图片尺寸的话,请修改插件源文件,zmt-capture-video-image/components/zmt-capture-video-image/zmt-capture-video-image.vue
大概在90行左右的位置
var width = parseInt(video.videoWidth/2);//除以2就是原视频的二分之一大小
var height = parseInt(video.videoHeight/2);