uniapp 小程序 安卓苹果 短视频解决方案

需求

要做类似抖音小程序的功能

思路

uniapp 使用swiper滑块 实现滑动 使用video播放视频

遇到的问题

1 video组件在小程序可以使用 uni.createVideoContext api控制

2 但是在app端会有层级问题(因为使用的原生组件具体看官方文档)导致无法正常滑动或者样式错乱

3 滑动卡顿

在iosapp端设置封面图之后在开始播放时会闪一下再开始播放

解决方案

app端有两种方案

1 使用nvue 2 是使用html5播放器 3 uniappx

1 需要整包更新 3 不现实 最后选择了方案2

实现

1 app端使用一下方式进行渲染

html 复制代码
<view  v-html="item.videosHtml"></view>

2 使用renderjs对视频组件进行控制

javascript 复制代码
<script module="videoMod" lang="renderjs"><script/>

3 使用@animationfinish滑动完成事件触发之后 执行播放解决 滑动卡顿

如果剩余视频不多 顺便可以加载一下下一页视频数据

html 复制代码
<swiper @animationfinish="animationfinish"  >
<swiper/>

4 在开始播放当前视频之前提前播放下一个视频10毫秒触发ios预加载解决ios设置封面后播放闪烁问题

javascript 复制代码
let video = document.getElementById(`video_${this.currentSwiperIndex}`);
				if (!video) return; 
				let nextVideo = document.getElementById(`video_${this.currentSwiperIndex+1}`); 
				if (nextVideo) {
					nextVideo.play();
					setTimeout(function() {
						nextVideo.pause();
						video.play();
					}, 10);
				} else {
					video.play();
				}
相关推荐
shadouqi1 小时前
问题1:uniapp在pages样式穿刺没有问题,在components组件中样式穿刺小程序不起效果
小程序·uni-app
草字1 小时前
uniapp 如果进入页面输入框自动聚焦,此时快速返回页面或者跳转到下一个页面,输入法顶上来的页面出现半屏的黑屏问题。
java·前端·uni-app
weixin_ab1 小时前
uni-app,uni.navigateTo
uni-app
烂笔头儿@1 小时前
uniapp使用谷歌地图获取位置
uni-app
韩召华1 小时前
uniapp实现微信小程序导航功能
微信小程序·uni-app·notepad++
博主逸尘1 小时前
uniApp实战六:Echart图表集成
java·uni-app·php
脑袋大大的3 小时前
uni-app x开发避坑指南:拯救被卡顿的UI线程!
开发语言·前端·javascript·vue.js·ui·uni-app·uts
谈吐大方的鹏sir4 小时前
SwiftUI中的状态管理
ios
全球网站建设4 小时前
从结构到交互:HTML5进阶开发全解析——语义化标签、Canvas绘图与表单设计实战
javascript·前端框架·php·reactjs·css3·html5
不爱说话郭德纲7 小时前
为了满足产品和设计,我撸了一个校准器ElkCalibrate📏
前端·vue.js·uni-app