当前位置: 首页 > news >正文

「小程序JAVA实战」小程序视频播放的时候生命周期的控制(56)

转自:https://idig8.com/2018/09/23/xiaochengxujavashizhanxiaochengxushipinbofangdeshihoushengmingzhouqidekongzhi55/

当播放单个视频时,点击搜索,视频还在后台继续播放,这是有问题,需要通过生命周期的方式来控制,当跳转页面时,视频暂停播放,视频返回后继续播放。源码https://github.com/limingios/wxProgram.git 中No.15

官网js的方式控制视频

  • VideoContext
    >https://developers.weixin.qq.com/miniprogram/dev/api/media/video/VideoContext.html

 

  • 代码实现
    >给video增加id,然后onload获取VideoContext,onshow进行play,onHide进行pause。

videoInfo.wxml

<view style='width:100%;height:100%'>
  <video id="myVideo" src="https://127.0.0.1:8081/180831CF2TS25MNC/4e0ca373-6520-45b9-a1a6-7ee8429dc5d8.mp4" muted='{{false}}' controls='{{false}}' autoplay='{{true}}' loop='{{true}}' enable-progress-gesture='{{false}}'
  style='width:100%;height:100%;'
  objectFit='{{cover}}'
  >

  <cover-view class='container'>
            <!-- 上传视频 -->

            <cover-image src='../../resource/images/camera.png' style='width:50rpx;height:50rpx;' bindtap='upload'></cover-image>


            <!-- 搜索按钮 -->
            <cover-image src='../../resource/images/search.png' style='width:45rpx;height:45rpx;' bindtap='showSearch'></cover-image>

        </cover-view>


<cover-view class='container-me'>
            <!-- 头像 -->
            <cover-image class="face" src='{{serverUrl}}{{publisher.faceImage}}' bindtap='showPublisher'></cover-image>


            <!-- 喜欢收藏按钮 -->
            <block wx:if="{{userLikeVideo}}">
                <cover-image class="size-me" src='../../resource/images/like.png' style='margin-top:30rpx;' bindtap='likeVideoOrNot'></cover-image>
            </block>
            <block wx:else>
                <cover-image class="size-me" src='  ../../resource/images/unlike.png' style='margin-top:30rpx;' bindtap='likeVideoOrNot'></cover-image>
            </block>


            <!-- 评论按钮 -->
            <cover-image class="size-me" src='../../resource/images/comments.png' style='margin-top:30rpx;' bindtap='leaveComment'></cover-image>

            <!-- 分享按钮 -->
            <cover-image class="size-me" src='../../resource/images/share.png' style='margin-top:30rpx;' bindtap='shareMe'></cover-image>

        </cover-view>

      <cover-view class='container-words'>

            <cover-view>@{{publisher.nickname}}</cover-view>

            <cover-view class='video-desc'>{{videoInfo.videoDesc}}</cover-view>



        </cover-view>

        <cover-view class='container-bottom'>
            <!-- 首页按钮 -->
            <cover-image class='' src='../../resource/images/index.png' class="size-bottom" bindtap='showIndex'></cover-image>



            <!-- 我的按钮 -->
            <cover-image class='' src='../../resource/images/mine.png' class="size-bottom" bindtap='showMine'></cover-image>

        </cover-view>
  </video>
</view>

videoInfo.js


Page({ data: { cover:'cover', videoContext:"" }, showSearch:function(){ wx.navigateTo({ url: '../videoSearch/videoSearch', }) }, onLoad:function(){ var me = this; me.videoContext = wx.createVideoContext('myVideo', me); }, onShow:function(){ var me = this; me.videoContext.play(); }, onHide:function(){ var me = this; me.videoContext.pause(); } })

PS:小程序开发很类似app开发,了解生命周期,可以很方便的完成一些功能的开发。

转载于:https://www.cnblogs.com/sharpest/p/10315651.html

相关文章:

  • oracle中无法用退格和上下翻命令解决
  • 我发起并创立了一个 Javascript 前端库 开源项目 jWebForm
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • C# 8新提案让泛型Attribute成为现实
  • v-if和v-for连用出现的问题
  • 导入javax.servlet。伺服登记无法解决:The import javax.servlet.MultipartConfigElement cannot be resolved...
  • 与柯尼塞格达成合作后 恒大或将继续瞄准中高端新能源车
  • eclipse 插件编写(一)(转)
  • 深入浅出Tomcat/3 - Tomcat生命周期
  • mybatis 学习总结笔记Day2
  • 5.3Python函数(三)
  • 基于LSTM的情感识别在鹅漫评论分析中的实践与应用
  • Docker学习笔记_安装和使用nginx
  • React Transition Group -- Transition 组件
  • 开源项目之ASP.NET Core + Vue.js 的前后端分离的通用后台管理系统框架
  • 《深入 React 技术栈》
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • gitlab-ci配置详解(一)
  • Idea+maven+scala构建包并在spark on yarn 运行
  • React-生命周期杂记
  • 第十八天-企业应用架构模式-基本模式
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 容器服务kubernetes弹性伸缩高级用法
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 用jquery写贪吃蛇
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • python最赚钱的4个方向,你最心动的是哪个?
  • ​你们这样子,耽误我的工作进度怎么办?
  • #每日一题合集#牛客JZ23-JZ33
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (done) 两个矩阵 “相似” 是什么意思?
  • (ros//EnvironmentVariables)ros环境变量
  • (四) 虚拟摄像头vivi体验
  • (五)Python 垃圾回收机制
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)可以带来幸福的一本书
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • ***详解账号泄露:全球约1亿用户已泄露
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET MVC第三章、三种传值方式
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .NET中的Exception处理(C#)
  • :not(:first-child)和:not(:last-child)的用法
  • [BUAA软工]第一次博客作业---阅读《构建之法》
  • [Docker]十一.Docker Swarm集群raft算法,Docker Swarm Web管理工具
  • [Editor]Unity Editor类常用方法
  • [IE6 only]关于Flash/Flex,返回数据产生流错误Error #2032的解决方式
  • [pluginviteimport-analysis] vite 提示jsx语法报错
  • [Study]Vue
  • [TS] Class Properties Public, Private and Read Only Modifiers
  • [VJ]输出m/n,若是循环体只输出第一节
  • [Vulnhub]靶场 Red