官方文档:https://zh.uniapp.dcloud.io/tutorial/miniprogram-subject.html

在 pages.json同级目录下 创建目录和文件:

wxcomponents:

my-video-play:

  index.js

  index.json

  index.wxml

  index.wxss

pages.json 全局引入:

index.js:

Component({
properties: {
videoUrl: String,
sectionId: String
},
methods: {
clickFun(event) {
this.triggerEvent('hideElement');
},
loadedmetadataFun(event) {
this.triggerEvent('loadedmetadataStart', event.detail.duration);
},
timeupdateFun(event) {
this.triggerEvent('videoTimeUpdate', event.detail);
},
endFun() {
this.triggerEvent('palyNextVideo', this.sectionId);
},
getVideoContext() {
return wx.createVideoContext("myVideo", this);
},
videoPlay() {
wx.createVideoContext("myVideo", this).play();
},
videoPause() {
wx.createVideoContext("myVideo", this).pause();
},
videoSeek(second) {
wx.createVideoContext("myVideo", this).seek(second);
}
}
})

index.wxml:

<video style="position: absolute; width: 100vw; height: 100vh;" id="myVideo"
direction="0"
src="{{videoUrl}}"
autoplay
controls="{{false}}"
show-center-play-btn="{{false}}"
show-play-btn="{{false}}"
show-fullscreen-btn="{{false}}"
enable-progress-gesture="{{false}}"
bindloadedmetadata="loadedmetadataFun"
bindtimeupdate="timeupdateFun"
bindended="endFun"
bindtap="clickFun"
>
</video>

index.json:

{
"component": true
}

index.wxss: 空文件

然后在uniapp vue文件中引入该组件:

<template>
<view>
...
<my-video-play style="position: absolute; width: 100vw; height: 100vh;" v-if="current === index && (item.videoUrl !== '')" ref='videoPlaySelf'
:videoUrl="item.videoUrl" :sectionId="item.sectionId"
@hideElement="hideElement" @loadedmetadataStart="loadedmetadataStart"
@videoTimeUpdate="videoTimeUpdate" @palyNextVideo="palyNextVideo">
</my-video-play>
...
</view>
</template>
<script lang="ts">
...
</script>
<style lang="scss" scoped>
...
</style>

uniapp引入微信小程序自定义视频组件--记录的更多相关文章

  1. 微信小程序自定义音频组件,自定义滚动条,单曲循环,循环播放

    小程序自定义音频组件,带滚动条 摘要:首先自定义音频组件,是因为产品有这样的需求,需要如下样式的 而微信小程序API给我们提供的就是这样的 而且产品需要小程序有后台播放功能,所以我们不考虑小程序的 a ...

  2. 微信小程序 自定义导航组件 nav头部 全面屏设计

    nav-dynamic 微信小程序自定义nav头部组件:适配全面屏设计: 实现功能 初始进入页面时,展示初始状态下的nav样式: 页面滚动时,监听页面滚动事件,展示滚动状态下的nav样式: 根据配置字 ...

  3. 微信小程序——自定义图标组件

    字体图标在网页中非常常见了.为了方便在小程序里面重复使用,自定义了一个图标组件,方便控制它的大小,颜色,自定义点击事件. 自定义图标组件的代码如下: 下面的代码是icon文件夹下面的4个文件 inde ...

  4. 微信小程序 - 自定义components组件详解A篇

    官网API:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/component.html 自定义 ...

  5. 微信小程序video视频组件

    支持mp4和m3u8的视频格式,其中mp4的需要是h264的视频编码 .1.如果您使用video组件是mp4的但不能播放,大部分是由于编码的问题,当然排除文件不存在等这些客观的因素条件.2.如果使用m ...

  6. 微信小程序 - 自定义弹窗组件

    2019-01-06:简化了一些代码,以及增加了可用性. // 弹窗配置 dialogConfig: { // 弹窗 dialogvisible: false, options: { // 显示关闭按 ...

  7. 微信小程序自定义 tabbar

    一定的需求情况下,无法使用小程序原生的 tabbar 的时候,需要自行实现一个和 tabbar 功能一模一样的自制组件. 查阅了海量的博客和文档之后,亲自踩坑.总结了三种在不使用微信小程序原生 tab ...

  8. uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤

    uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤 这里以vant-weapp为例 uni-app官方文档介绍引入组件的方法 1. 新建相关目录 根目录下创建 wxcomponen ...

  9. 微信小程序自定义组件,提示组件

    微信小程序自定义组件,这里列举了一个常用的提示自定义组件,调用自定义组件中的方法和字段.仅供参考和学习. 编写组件: 在根目录下添加“components”目录,然后像添加Page页面一样添加自定义组 ...

  10. 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践

    1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...

随机推荐

  1. Vue框架-03:JS的几种循环方式,Key值的解释,数组/对象的检测与更新,input事件,v-model数据双向绑定,过滤案例,事件修饰符,按键修饰符,表单控制

    目录 前端开发之Vue框架 一.JS循环的几种方式 1.v-for可循环的变量 2.js的循环方式 二.Key值的解释 三.数组.对象的检测与更新 四.input事件 五.v-model双向数据绑定 ...

  2. Cobalt Strike 之: Malleable C2 流量伪造与加密

    郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共同维护网络文明和谐. 目录 ...

  3. 跟着廖雪峰学python 006

    ​ 递归函数 在函数内部调用自身本身 计算阶乘: def fact(n): if n == 1: return 1 return n * fact(n - 1) 注意:使用递归函数需要防止栈溢出. 在 ...

  4. Linux操作命令(三)1.more命令 2.less命令 3.head命令 4.tail命令

    1.more 命令 分页显示文本文件的内容 more 命令,功能类似 cat ,cat 命令是将整个文件的内容从上到下显示在屏幕上. more 命令会一页一页的显示,方便使用者逐页阅读,而最基本的指令 ...

  5. oracle to mogdb 迁移---mtk工具

    ## 一.MTK工具介绍--------- MTK–异构数据迁移工具 MTK全称为 Database Migration Toolkit,是一个可以将Oracle/DB2/MySQL/openGaus ...

  6. 四,redis6版本的使用部署

    继第三章(https://www.cnblogs.com/123456likun/p/13841540.html) 官网发布最新的6版本,有新的数据类型出现,给了小编我极大的动力,决定写几张关于最新的 ...

  7. hashMap的底层数据结构

    本节用于记录Java HashMap底层数据结构.方法实现原理等,基于JDK 1.8. # 底层数据结构 Java hashMap 是采用哈希表结构的(数组+链表 /jdk8后加入红黑树)实现,结合了 ...

  8. 【10】java之final关键字

    1.使用final 定义的变量就变成了常量,常量必须在定义的时候就设置好内容且不能修改. public static final 声明的就是全局常量. public static final Stri ...

  9. HP DC7800 升级CPU出现:Missing or Invalid Processor Microcode Update —— 解决方案:更新主板BIOS

    1.所需文件在这个网盘里面:链接:https://pan.baidu.com/s/140DI2SyRmPf0Q-ikXcJMcQ 提取码:yjth 2.这个问题的解决参考了:https://h3043 ...

  10. PHP中的超级变量

    超级变量,又名超级全局变量,是PHP内置的变量,这些变量在代码的任意位置都能正常使用 PHP中的超级变量 9种超级变量 $GLOBALS $_SERVER 9种超级变量 目前,PHP提供了9种超级变量 ...