官方文档: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. 【DS】1.2

    top-iron man   算法 效率度量 时间T=T(n) 1.顺序忽略2.只选一个基本操作分析3.多层嵌套只考虑最深的循环循环了几次  test1: test2: 空间   原地工作:算法所需内 ...

  2. Linux基础之用户、组和权限管理

    用户类别分为:普通用户.系统用户.登陆用户 用户标识:UserID, UID 是16bits二进制数字: 0-65535管理员:0普通用户:0-65536系统用户:1-499(CentOS6)1-99 ...

  3. vue中央事件

    详情请看这个链接https://blog.csdn.net/sinat_17775997/article/details/59025563

  4. C4模型,架构设计图的脚手架,你值得拥有

    hi,我是熵减,见字如面. 对于软件开发团队来说,写软件设计文档,花架构图,是日常工作中的关键一项. 而其中,如何画好系统设计的架构图呢? Simon Brown 就 提出 C4 模型,来解决这个问题 ...

  5. WHAT IS PPM Encoder ?

    About PPM Encoder The PPM encoder allows to encode up to 8 PWM (pulse width modulated) signals into ...

  6. UnoCSS 简化 CSS 的书写

    CSS 样式太多,重复写 在学习 UnoCSS 之前,我提出几个问题: 你是否有过写完了 HTML 之后,跳转到 style 写 CSS 这样来回跳转的痛苦? 你是否有过不知道如何给节点取类名的痛苦( ...

  7. Gateway集成Netty服务

    目录 一.Netty简介 二.Netty入门案例 1.服务端启动 2.通道初始化 3.自定义处理器 4.测试请求 三.Gateway集成 1.依赖层级 2.自动化配置 四.配置加载 1.基础配置 2. ...

  8. day08-MyBatis的关联映射02

    MyBatis的关联映射02 3.一对多 3.1基本介绍 mybatis – MyBatis 3 | XML 映射器 多对一关系也是一个基本的映射关系,多对一,也可以理解为一对多.例如: User-- ...

  9. InputManager

    inputManger配置参数说明 https://www.cnblogs.com/xiaoyulong/p/10011256.html 配置方法 https://www.cnblogs.com/td ...

  10. js - 解决微信环境下,ios软键盘收起后页面空白

    思路:1.判断是否在微信中           2.判断是否在ios中           3.表单元素焦点将页面滚回到顶部 是否是微信环境 isWx() { let ua = navigator.u ...