iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >微信小程序中视频的显示与隐藏功能
  • 893
分享到

微信小程序中视频的显示与隐藏功能

摘要

目录在微信小程序中实现视频的播放与暂停需求:思路:代码实现:总结:在微信小程序中实现视频的播放与暂停 需求: 视频列表中只能有一个视频在播放点击视频实现播放与暂停功能加载完成显示图片

微信小程序中实现视频的播放与暂停

需求:

  • 视频列表中只能有一个视频在播放
  • 点击视频实现播放与暂停功能
  • 加载完成显示图片,点击后变为视频播放
  • 从上次播放的位置进行播放

思路:

  • 定义一个标记变量,控制视频的播放与暂停
  • true => 本次问播放
  • false => 本次为暂停
  • 每次点击后,更新data中视频的id值
  • 声明一个数组,用于存放播放视频的id和播放时间
 {
      vid:xxx,
      currentTime:xxx  
  }

事件的流程图

代码实现:

静态

<!-- 使用scroll-view组件 -->  
<scroll-view class="scroll_video" enable-flex scroll-y>
    <view class="scroll_videoList_item" wx:for="{{videoList}}" wx:key="index">
      <!-- 注意这个id是标签属性,
        点击视频标签,事件的回调 event属性会获取到这个id值
        item.data.vid == vid => 点击获取到id
		bindtimeupdate:视频的进度条发生变化时触发
			通过event.detail.currentTime获取播放的时间(详见官网)
       -->
      <video 
        src="{{item.data.urlInfo.url}}" 
        id="{{item.data.vid}}" 
        class="scroll_video_item" 
        wx:if="{{vid == item.data.vid ? isPlay? true : false :false}}"
        bindtap="clickVideo"
        poster="{{item.data.coverUrl}}"
        bindtimeupdate="handlerUpdate"
      ></video>
      <!-- 视频加载的时候使用图片代替,点击时切换为视频 -->
      <image 
        id="{{item.data.vid}}" 
        class="scroll_img_item" 
        src="{{item.data.coverUrl}}" 
        bindtap="clickVideo"
        wx:else
      ></image>
    </view>
  </scroll-view>

逻辑:

 //页面中使用到的数据
data: {
    // 保存点击的nav id
    clickId: '',
    // 保存视频的数据
    videoList: [],
    // 保存点击的视频的id
    vid: '',
    // 控制视频是否播放
    isPlay: true,   //为true =>这一次为播放,为false => 这一次为暂停
  },
      
  //视频的播放与暂停
 clickVideo(event) {
    // 获取用户点击视频的id
    // console.log(event.currentTarget.id);
    let vid = event.currentTarget.id
    // 创建视频的上下文与video组件进行一一关联
    if (!this.player) {
      // 没有视频的上下文,创建一个
      this.player = wx.createVideoContext(vid)
      // 播放视频
      this.player.play()
      // 存储这次点击的视频的id
      this.setData({
        vid
      })
    } else {
      // 有视频上下文了
      if (vid != this.data.vid) {
        // 说明再次点击的是其他的视频
        // 暂停上一个视频 -> 创建一个新的视频上下文 -> 播放这个视频
        this.player.pause()
        this.player = wx.createVideoContext(vid)
        this.player.play()
        this.setData({
          isPlay: true,//只要id不同,都是暂停上一次,播放这一次!!!
          vid
        })
      } else {
        // 说明第二次点击的是正在播放的视频
        if(this.data.isPlay){
          // 上一次的为播放,这一次需要暂停
          this.player.pause()
          // 修改状态
          this.setData({
            isPlay:false,
          })
        }else {
          // 上一次为暂停,这一次需要播放
          this.player.play()
          this.setData({
            isPlay:true,
          })
        }
      }
    }
  },
      
  // 视频播放的时间
  handlerUpdate(event) {
    const { videoUpdataTime } = this.data
    // 定义一个存储视频id和时间的对象
    const updateTime = {
      vid: event.currentTarget.id,
      currentTime: event.detail.currentTime,
    }
    // 如果数组里有时间,则更新时间,如果没有事件,则添加这个对象
    let updateItem = videoUpdataTime.find(item => item.vid == updateTime.vid)
    if (updateItem) {
      // 有,更新时间
      updateItem.currentTime = event.detail.currentTime
    } else {
      // 没有,添加整个对象
      videoUpdataTime.push(updateTime)
    }
    // 更新数据
    this.setData({
      videoUpdataTime,
    })
  },

总结:

  • 没有思路的时候,可以画一个流程图,不要空想 ?
  • 多看文档!多看文档!多看文档!重要的事情说三遍
  • 需要注意的是,如果在微信开发工具测试有bug,但是代码检查不出问题,试试真机测试,会有意想不到的结果 ?

到此这篇关于微信小程序中视频的显示与隐藏的文章就介绍到这了,更多相关微信小程序显示与隐藏内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 微信小程序中视频的显示与隐藏功能

本文链接: https://www.lsjlt.com/news/169168.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 微信小程序中视频的显示与隐藏功能
    目录在微信小程序中实现视频的播放与暂停需求:思路:代码实现:总结:在微信小程序中实现视频的播放与暂停 需求: 视频列表中只能有一个视频在播放点击视频实现播放与暂停功能加载完成显示图片...
    99+
    2022-11-13
    微信小程序显示 小程序隐藏 微信小程序视频显示 小程序视频隐藏
  • 微信小程序实现密码显示与隐藏的睁眼闭眼功能
    要实现的效果 默认密码隐藏起来(显示为点),后面的图标是闭眼;用户点击图标后,图标变成睁眼,同时把密码明文显示出来;如此循环 最初实现方案 js: Page({ data:...
    99+
    2023-02-25
    小程序密码隐藏 小程序密码显示
  • 微信小程序中如何实现多列表的显示和隐藏功能
    这篇文章将为大家详细讲解有关微信小程序中如何实现多列表的显示和隐藏功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图:实现思路:实现单个列表的显示和隐藏应该使用唯一...
    99+
    2024-04-02
  • 微信小程序如何动态控制组件的显示/隐藏功能
    这篇文章主要介绍微信小程序如何动态控制组件的显示/隐藏功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!组件有个属性:hidden='' ,值为true/false ...
    99+
    2024-04-02
  • 微信小程序如何实现密码显示与隐藏的睁眼闭眼功能
    这篇“微信小程序如何实现密码显示与隐藏的睁眼闭眼功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“微信小程序如何实现密码显示...
    99+
    2023-07-05
  • 微信小程序实现上传视频功能
    本文实例为大家分享了微信小程序上传视频,供大家参考,具体内容如下 微信开发者工具需要安装ffmpeg环境才能正常使用下面的官方方法。 1、调用官方提供的方法(wx.chooseMed...
    99+
    2024-04-02
  • 微信小程序实现美食展示与收藏功能
    目录一、项目展示二、首页三、收藏一、项目展示 今日美食是为用户提供各种美食的制作方法,详细介绍了配料和制作流程 二、首页 首页采用垂直布局,由搜索栏、轮播图、宫格三大组件组成 点击...
    99+
    2024-04-02
  • 微信小程序控制view隐藏显示的5种方法汇总
    目录一、使用wx:if指令二、使用opacity属性三、使用display属性四、还有一种方式可以使用绝对定位五、使用hidden属性总结一、使用wx:if指令 因为 wx:if 是...
    99+
    2024-04-02
  • 微信小程序如何实现美食展示与收藏功能
    小编给大家分享一下微信小程序如何实现美食展示与收藏功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、项目展示今日美食是为用户提供各种美食的制作方法,详细介绍了...
    99+
    2023-06-29
  • uni-app实现微信小程序长按拍视频功能
    本文实例为大家分享了uni-app实现微信小程序长按拍视频功能的具体代码,供大家参考,具体内容如下 html <!-- 上传视频 -->      <view cl...
    99+
    2024-04-02
  • 如何使用PHP实现微信小程序的音视频功能?
    如何使用PHP实现微信小程序的音视频功能?随着时代的发展,人们对于移动应用的需求也日益增长。微信小程序作为一种轻量级的应用开发模式,正逐渐受到用户的欢迎。而其中的音视频功能在社交和娱乐领域有着广泛的应用。本文将介绍如何使用PHP实现微信小程...
    99+
    2023-10-26
    PHP 微信小程序 音视频功能
  • 实现微信小程序中的音频播放功能
    标题:实现微信小程序中的音频播放功能微信小程序作为一种快速便捷的应用开发平台,为开发者提供了众多丰富的功能。在小程序中,音频播放功能是非常常见且重要的需求之一。本文将介绍如何在微信小程序中实现音频播放功能,并提供具体的代码示例。一、准备工作...
    99+
    2023-11-21
    音频播放 微信小程序 实现功能
  • 微信小程序怎么显示下拉列表功能
    小编给大家分享一下微信小程序怎么显示下拉列表功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体如下:1、效果展示2、关键代码app.json文件:{  "pages...
    99+
    2024-04-02
  • 微信小程序动态的显示或隐藏控件的方法(两种方法)
    在微信小程序开发时,经常要用到一个控件会根据不同的情况和环境动态显示与隐藏这种情况,下面就来实践一把!上效果先它的实现方法有两种,第一种方法:单选法,就是隐藏与显示根据条件二选一,代码如下:<view class="{{showVie...
    99+
    2023-05-31
    微信小程序 控件 信小
  • 微信小程序实现录音与音频播放功能
    目录1、录音1.1 案例2、音频播放控制2.1 案例小程序继承了微信强大的语音处理功能,提供了录音、音频播放控制和背景音乐等功能,它们的功能不同,但有相似性。 1、录音 小程序提供了...
    99+
    2024-04-02
  • 如何使用PHP开发微信小程序的视频编辑功能?
    如何使用PHP开发微信小程序的视频编辑功能?随着社交媒体的发展,视频内容在用户中间变得越来越受欢迎。微信小程序作为中国最大的社交平台之一,视频编辑功能的需求也越来越大。本篇文章将介绍如何使用PHP开发微信小程序的视频编辑功能,并提供具体的代...
    99+
    2023-10-27
    微信小程序 PHP开发 视频编辑
  • 微信小程序实现音频录制功能
    微信小程序实现音频录制功能近年来,随着移动互联网的发展,微信小程序的普及越来越广泛。微信小程序作为一种轻量级、易于使用的应用,在帮助企业拓展市场和提升用户体验方面发挥着重要的作用。而在实现音频录制功能方面,微信小程序同样提供了简单易用的接口...
    99+
    2023-11-21
    微信小程序音频录制
  • 微信小程序实现播放音频功能
    本文实例为大家分享了微信小程序实现播放音频的具体代码,供大家参考,具体内容如下 功能描述:一进页面就会播放音乐,点击暂停再次点击后可以开始播放,退出页面后播放停止。 HTML: &l...
    99+
    2024-04-02
  • WxPython中控件隐藏与显示的小技巧
    目录WxPython控件隐藏与显示想要这种布局结果实际是这种布局结果代码优化如下WxPython控件隐藏与显示 WxPython 的控件,除了有Disable() 和 Enable(...
    99+
    2024-04-02
  • 如何实现小程序视频列表中视频的播放与停止功能
    小编给大家分享一下如何实现小程序视频列表中视频的播放与停止功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果类似一条视频的小...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作