uni-app微信小程序解决多个视频同时播放问题
这里我用的uni-app开发的小程序,微信小程序原生开发也是同理, 写法和api简单改下就行
当你的页面上有多个视频video组件标签时, 会出现多个视频可以同时播放的问题,这样显然是不正常的, 那么解决办法如下
调用 uni.createVideoContext 来创建并返回 video 上下文 videoContext 对象
假设页面有两个视频的话, 第一个视频开始播放时调用 videoContext 对象的暂停方法pause, 暂停第二个视频即可
但是很多情况下, 页面的video组件标签的个数是不确定的, 是通过列表循环出来的, 那么解决办法如下
<view v-for="(item,index) in videoList" :key="index">
<video :id="`video${index}`" :src="item" controls v-if="item" @play='videoPlay(index)'></video>
</view>
给video组件标签加上一个video和下标加起来的动态id, 方便uni.createVideoContext 传入第一个参数获取video上下文对象
声明一个变量 playIdx 记录上一次播放视频的下标
videoPlay(index) {
if (this.playIdx !== '') {
console.log(`暂停上一个下标为${this.playIdx}的视频`);
let videoContext = uni.createVideoContext(`video${this.playIdx}`)
videoContext .pause()
} this.playIdx = index
}
这样即可
(注意.在组件中使用uni.createVideoContext时, 要在第二个参数传入this, 否则不生效)
uni-app微信小程序解决多个视频同时播放问题的更多相关文章
- uni app以及小程序 --环境搭建以及编辑器
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 根据以上网页下载自己电脑相应的版本的微信开发者工具(目录 ...
- 微信小程序 解决 数字粗细不一 的bug
1.bug 2.原因解析 微信小程序本身字体问题 3.解决方案 设置字体 font-family: Microsoft YaHei; .
- fiddler学习总结--手机端(APP/微信小程序)抓包
步骤一.手机和电脑要在同一个局域网中 步骤二.完成fiddler的基本配置,与web端抓包一样: TOOLS-->options-->connections-->1.设置端口:2.勾 ...
- 微信小程序-图片、录音、音频播放、音乐播放、视屏、文件
图片: wx.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照. OBJECT参数说明: 注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx ...
- 微信小程序------媒体组件(视频,音乐,图片)
今天主要是简单的讲一下小程序当中的媒体组件,媒体组件包括:视频,音乐,图片等. 先来看看效果图: 1:图片Image <!-- scaleToFill:不保持纵横比缩放图片,使图片的宽高完全拉伸 ...
- 微信小程序-解决下拉刷新报错
关于“enablePullDownRefresh”: “true” 一.使用方式 在 Page 中定义 onPullDownRefresh 处理函数,监听该页面用户下拉刷新事件.需要在 config ...
- 微信小程序解决地图上的层级关系
在有带地图的手机页面上,view无法显示在地图上方,所以,在wxml中,使用: <cover-view></cover-view> 能使view显示在地图上 注: 在该标签内部 ...
- 微信小程序 wxParse插件显示视频
修改wxParse/html2json.js 文件 ,在 html2json(html, bindName) 方法里 var node = { node: 'element', tag: tag, } ...
- 程序员的又一春,微信小程序带来的一个赚钱机遇
微信小程序可能是原生的机遇,在程序员面对微信小程序的恐惧中说其实也是我们程序员创业的春天或者挣外快的一个机遇. 为什么这么说呢?且听我慢慢给你分析 成本角度 你想想,会ios开发的可能只会ios,会安 ...
- 【转】微信小程序给程序员带来的可能是一个赚钱的机遇
自上周被微信小程序刷屏之后,这周大家都在谈微信小程序能够带来哪些红利的话题,其实我想从程序员的角度来谈谈,带给我们程序员来的红利,或许是我们程序员创业或者赚钱的机遇. 其实我从<作为移动开发程序 ...
随机推荐
- VS不能生成moc_XXX文件的问题解决
环境:VS2010 + QT 4.8 问题:写好QT代码文件(XXX.h和XXX.cpp)后,发现不能像其它QT文件那样自动生成moc_XXX文件. 解决: 1.参考网文,将XXX.h文件的属性配置成 ...
- vue - axios简单封装
分析: (1)axios处理接口请求.可能需处理请求拦截,响应拦截,不同类型的请求,所以需要一个http.js文件 (2)请求都是基于相关环境的,所以需要一个url.js处理环境 (3)可根据不同模块 ...
- Day 11 11.2 文件操作
文件操作 引言 到目前为止,我们做的一切操作,都是在内存里进行的,这样会有什么问题吗?如果一旦断电或发生意外关机了,那么你辛勤的工作成果将瞬间消失.是不是感觉事还挺大的呢?现在你是否感觉你的编程技巧还 ...
- Java流程控制之Scanner的进阶使用
Scanner的进阶使用 import java.util.Scanner; public class Demo04 { public static void main(String[] args) ...
- Ubuntu tmux使用教程
sudo apt-get install tmux 安装tmux tmux new -s session_name 新开一个会话 tmux a -t session_name 查看指定会话 tmux ...
- linux 历史命令修改
一 添加历史命令时间和用户 echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >>/etc/profilesource /e ...
- 记录[极客大挑战2019]http
打开网站源码--找到secret.php,要从www.Sycsecret.com访问--加上Referer 注:HTTP Referer是header的一部分,当浏览器发送请求的时候带上Referer ...
- Mocha and Stars
Mocha and Stars 题意 给定 \(n,m\) ,问符合下定条件的数列有多少个: 对于\(a_i(1\le i\le n)\),\(a_i\in [l_i,r_i]\cap \mathbb ...
- Study python_01
Python历史事件 1989 年 --- 荷兰人吉多·范罗苏姆决心开发一个新的脚本解释程序: 1991 年 --- 第一个用C语言实现的Python编译器诞生,Python 的代码对外公布,版本为 ...
- 微信小程序云开发,快速生成短信验证码
使用微信小程序云函数实现注册短信验证码的管理,并不是一件分分钟的事,目前想要存储验证码只能放到数据库中,因为存储后才能和用户提交上来的验证码做比较. 管理验证码主要涉及到:生成.存储.校验.有效期管理 ...