微信小程序实现抖音视频效果

news2024/11/25 8:15:51

当我们进行开发的时候可能会遇到需要实现抖音视频效果的需求,并且网上该效果的开源代码少,找到的开源代码代码量大,很难进行二次开发

对此我将自己的代码进行简化,仅留下可动性高的代码模块
在这里插入图片描述
以上是实现效果与此处demo的模板

wxml文件:

<swiper vertical="true" bindchange="nextVideo">
  <swiper-item wx:for="{{viList}}">
    <video loop="true" enable-progress-gesture="true"	object-fit="contain" src="{{item.vio}}" id="video{{index}}" />  
    <view class="video-right">
      <view class="video-right-img" style="margin-bottom: 10rpx; background-image: url({{item.avatar}})" data-user_id="{{item.user_id}}" bindtap="toOtherUser"></view>
        点赞 评论 转发
    </view>
    <view class="video-btm">
      <view class="video-btm-con">
        <text>@{{item.name}}</text><text>\t创建时间</text>
        <view>标题</view>
      </view>
    </view>
  </swiper-item>
</swiper>

wxss文件:

page{
  background-color: #000;
}
 
swiper{
  height: 100vh;
  width: 100vw;
}
 
swiper video{
  height: 100vh;
  width: 100%;
}
 
.video-right{
  height: 38vh;
  width: 80rpx;
  position: fixed;
  right: 15rpx;
  top: 50vh;
  color: #fff;
}
 
.video-right-img{
  height: 80rpx;
  width: 80rpx;
  border-radius: 100rpx;
  background-color: aquamarine;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
 
.video-btm{
  height: 180rpx;
  width: 100vw;
  position: fixed;
  bottom: 0;
  color:#fff;
}
 
.video-btm-con{
  width: 90vw;
  margin: 0 auto;
}

js文件:

// pages/index5/index5.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    viList:[
      {
        vio:'https://assets.mixkit.co/videos/preview/mixkit-movement-in-a-large-avenue-at-night-in-timelapse-44688-large.mp4',
        avatar:'https://profile-avatar.csdnimg.cn/6ef2193c2e9649c88356336c626e5777_m0_64944135.jpg',
        name:'xiaoshen'
      },
      {
        vio:'https://assets.mixkit.co/videos/preview/mixkit-movement-in-a-large-avenue-at-night-in-timelapse-44688-large.mp4',
        avatar:'	https://profile.csdnimg.cn/7/A/9/1_2201_75886543',
        name:'kami'
      }
    ]
  },
 
  onLoad(options) {
    // 调用播放视频方法
    this.startUp()
  },
 
  // 进页面时播放视频
  startUp(){
    // 获取video节点
    let createVideoContext = wx.createVideoContext('video0')
    // 播放视频
    createVideoContext.play()
  },
 
  // 切换视频的时候播放视频
  // 注:此方法视频如果过大可能会叠音,所以视频需要压缩,或者可以尝试循环节点关闭视频
  nextVideo(e){
    // 播放当前页面视频
    let index = 'video' + e.detail.current
    this.playVio(index)
    // 暂停前一个页面视频
    if(e.detail.current-1 >= 0){
      let index1 = 'video' + (e.detail.current-1)
      this.pauseVio(index1)
    }
    // 暂停后一个页面视频
    if(e.detail.current+1 < this.data.viList.length){
      let index2 = 'video' + (e.detail.current+1)
      this.pauseVio(index2)
    }
  },
 
  // 播放视频
  playVio(index){
    // 获取video节点
    let createVideoContext = wx.createVideoContext(index)
    // 播放视频
    createVideoContext.play()
  },
 
  // 暂停视频
  pauseVio(index){
    // 获取video节点
    let createVideoContext = wx.createVideoContext(index)
    // 暂停视频
    createVideoContext.pause()
  }
})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/718865.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++的输入与输出

c中的各种流 文件输入流ifstream 读数据 #include <iostream> #include <iostream> #include <fstream> int main(int const argc, char const *const *argv) {std::ifstream is{"hello.txt"};if (is.good()){std::string s;while (is >> s)…

如何给没有坐标的栅格数据添加坐标信息

在进行NETCDF和HDF格式转换时&#xff0c;经常会出现数据转出来了。但没有任何坐标信息的情况。这如下图转出来的数据就完全不带坐标信息&#xff0c;就好像一副图片一样。但数据的值和像素信息保存完好。如下边一个NC数转出的TIFF栅格数据&#xff1a; 这是我用GIS数据转换器-…

【Matlab】神经网络遗传算法(BP-GA)函数极值寻优——非线性函数求极值

目前关于神经网络遗传算法函数极值寻优——非线性函数求极值的博客资源已经不少了&#xff0c;我看了下来源&#xff0c;最初的应该是来自于Matlab中文论坛&#xff0c;论坛出版的《MATLAB神经网络30个案例分析》第4章就是《神经网络遗传算法函数极值寻优——非线性函数极值寻优…

Ubuntu 添加新用户并配额

背景&#xff1a;在配置工作站或者服务器时&#xff0c;需要为多个用户提供服务&#xff0c;但是需要各个用户之间操作互不干扰&#xff0c;自己所安装的各种环境不会对其他人或root账号下的主系统环境有影响&#xff0c;并且各用户每个用户需要分配额定的内存空间。 安装 quo…

紫光展锐联合罗德与施瓦茨在MWC上海共同展示RedCap测试方案

在6月28日-30日举办的2023上海世界移动大会上&#xff08;MWC上海&#xff09;&#xff0c;紫光展锐联合罗德与施瓦茨共同演示RedCap射频与吞吐量测试&#xff0c;确保RedCap终端功能和性能达到预期。在本次联合测试中&#xff0c;RedCap下行吞吐量可达220Mbps&#xff0c;上行…

大模型加速学科升级,飞桨赋能北邮“X+大模型”特色小学期

在人工智能时代&#xff0c;设计师与产品经理比以往更加需要关注一个事实&#xff1a;那就是如何利用人工智能和数据分析技术&#xff0c;打造让用户心动的信息交互产品和用户体验&#xff0c;释放人-机协同共创的巨大潜能&#xff0c;是决定设计产能和竞争力的关键。 在产业的…

港科夜闻|叶玉如校长出席香港创科 砥砺前行主题论坛

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大校长叶玉如教授出席「香港创科 砥砺前行」主题论坛。该论坛为中华人民共和国香港特别行政区成立26周年庆祝活动之一&#xff0c;叶玉如校长在论坛上分享了她对香港创新科技及研究发展未来的见解。论坛亦包括国际…

Cmder最新版--打开慢 删除字符残留问题

标题Cmder最新版–打开慢 删除字符残留问题 1 打开慢 打开后左下角跳动显示findstr.exe cmd.exe git.exe&#xff0c;很久后才能正常输入。 解决方案&#xff1a; 关闭更新检查及运行dll注入&#xff08;如下二图&#xff09; 2 删除后有字符残留 像这样很烦 解决方案有…

wireshark学习

抓包原理 哪种网络情况可以抓到包&#xff1f;&#xff08;1&#xff09;本机环境&#xff08;2&#xff09;集线器环境&#xff08;3&#xff09;交换机环境 交换机环境目前较为常用&#xff0c;这也分为三种情况&#xff08;1&#xff09;端口镜像&#xff08;2&#xff09…

vue项目使用自定义域名开启本地服务(ip地址和域名映射)

前言 有的时候&#xff0c;我们直接用script请求需要在同一个顶级&#xff08;一级&#xff09;域名下才可以拿到数据。 本地服务在开启时一般都是localhost&#xff0c;或者带ip。如果想要自定义域名访问本地服务&#xff0c;需要做以下配置。 ip地址和域名映射 在域名请求…

六轴机械臂搬运仿真(机器人工具箱)

1、建立机械臂模型 工作台、货物 clear close all clc L(1)Link(d, 0.33, a,0 , alpha, pi/2,offset,pi); L(2)Link(d, 0, a, 0.26, alpha,0,offset,pi/2); L(3)Link(d, 0, a, 0.02, alpha,pi/2,offset,0); L(4)Link(d, -0.29, a, 0, alpha,pi/2,offset,0); L(5)Link(d, 0, a,…

问诊住院医疗业务数仓建模实操案例

一、数仓建模实超案例 &#xff08;一&#xff09;前言 医疗业务系统比较复杂&#xff0c;有HIS&#xff1a;医院信息管理系统&#xff08; Hospital Information System&#xff09;、CIS&#xff1a;临床信息系统&#xff08;Clinical Information System&#xff09;、LIS&…

临床数据 1. 临床基因突变数据如何发高分?

桓峰基因公众号的粉丝中医学类科研偏多&#xff0c;因此对于临床数据的分析需求还是很多的&#xff0c;因此我们再次推出临床数据相关的一些文献以及对应的分析方法&#xff0c;那么临床数据大概哪几类呢&#xff1f; 临床信息 患者的个人信息包括性别、年龄、家族遗传史、吸烟…

微众区块链开源分布式数据协作管理解决方案,建数据要素高效流通桥梁

数据要素已成为数字经济时代最核心的生产要素&#xff0c;为助力全行业伙伴提升区块链数据协作管理效率、保障数据要素高效有序流通&#xff0c;微众区块链在多年技术研究和应用实践的基础上&#xff0c;积极分析总结行业需求&#xff0c;研发了分布式数据协作管理解决方案DDCM…

css文字图标(阿里图标)使用及引入方式

首先打开 iconfont图标 网页 选择素材库中的单色图标库 选择自己需要用的图标 这里简绍四种类型的引入方式&#xff0c;其中是网页上的三种引入方式&#xff1a; 1. Unicode 使用方式 复制代码 引入样式 (这里是线上引入 通过网址引入的) 引入样式注意路径完整性 标签中间放入…

如何在Forlinx OK3588-C EVK上安装OpenCV?

OpenCV&#xff08;开源计算机视觉库&#xff09;是一个开源计算机视觉和机器学习软件库。 OpenCV 广泛应用于计算机视觉、机器人、智能交通、医学成像、安全等领域。 Forlinx RK3588 EVK 是一款高性能嵌入式计算机&#xff0c;结合 OpenCV&#xff0c;可进行高效的图像和视频处…

七牛云面试复盘-实习后端Java开发 一面复盘 【已通过】

💪💪💪欢迎订阅本专栏,持续更新,本专栏内容为我参加的各个公司面试的复盘专栏。将完整记录面试细节问题。 七牛云面试 实习后端Java开发 一面 [视频面试] 首先自我介绍 我是XXX,来自XXX,XXXX。 面试官提问: 1.先问几个基础题,循序渐进的来哈,谈谈Java⾃动装箱…

IM6ull LCD 驱动

一 LCD 简介 LCD&#xff08;Liquid Crystal Display&#xff09;&#xff0c;液晶显示器。LCD的构造是在两片平行的玻璃基板中放置液晶盒&#xff0c;下基板玻璃上设置TFT&#xff08;薄膜晶体管&#xff09;&#xff0c;上基板玻璃上设置彩色滤光片&#xff0c;通过TFT上的…

IDEA 集成 GIT

文章目录 16.IDEA中使用GIT-基本操作-add与commit 掌握目标内容 17.IDEA中使用GIT-基本操作-差异化比较目标内容 18.IDEA中使用GIT-基本操作-版本回退及撤消目标内容 19.IDEA中使用GIT-远程仓库-创建与关联远程仓库学习目标&#xff1a; 20.GitLab使用介绍_项目、用户和组介绍(…

Spark环境搭建与使用

第4关&#xff1a;使用Maven对Java独立应用程序进行编译打包 目录 第4关&#xff1a;使用Maven对Java独立应用程序进行编译打包 任务描述 相关知识 Maven安装 编程要求 任务描述 本关任务&#xff1a;编写一个简单的应用程序simpleApp2&#xff08;实现spark自带文件REA…