解决uniapp开发抖音小程序video-player覆盖问题,超详细教程,前端相关操作,已成功上线产品

背景:

当使用uniapp开发抖音小程序原计划使用video组件,但接入抖音云时问题来了,需要使用video-player播放组件,开始根据官方提供的文档进行研究,但是文档针对于此功能都是使用的抖音原生,uniapp如何使用呢?

参考资料:

video-player

Docsicon-default.png?t=N7T8https://bytedance.larkoffice.com/docx/TsJmdbX6co33uJxi7j9cfYc2nnd#Mp5Hd1YOYoOrBGxjTK3cngUFnWd小程序自定义组件支持

小程序自定义组件支持 | uni-app官网

流程:

1,将原生的video-player组件导入uniapp项目中,(参考小程序自定义组件支持 | uni-app官网

例子展示(文章最上方可自行下载)

需要使用组件的页面page.json相关配置

2,页面中组件的使用,这里将video组件放在一起对比看方法的使用,以及传参,大部分都是一样的

注意:video-player组件中两个关键参数

视频播放异常分析:

进行到这里项目中的视频原则上已经正常播放了,但是视频页面中却出现了如下图的情况,

如果出现类似情况,首先注意上述那两个关键参数是否正常获取了,如正常获取也正常传参,此时请注意error函数输出的相关提示

当时我项目中的提示如上图所示,就以为是那两个参数的问题,就去找后端核实给我的这两个参数是否有效,但是查找一番后发现,后端给我的这两个参数和我获取的参数不一样

我获取的

后端传过来的

这时候了解到一个情况精度丢失

eg:我的处理办法如下

//1,在网络请求中设置数据类型为string
dataType: 'string',
success: (res) => {
						console.log(res);
						if (res.data.code == 40002) {
							uni.removeStorageSync('token')
							this.denglu()
							return
						}
						
				
						var json = res.data.replace(/:s*([0-9]{15,})s*(,?)/g, ': "$1" $2')
						//2.根据后端返回的数据调用一次或者两次replace替换

						var json1 = json.replace(/:s*([0-9]{15,})s*(,?)/g, ': "$1" $2')


						//3.手动转换回json数据即可
						var trueData = JSON.parse(json1);

						console.log(trueData, 'hahahh') //有问题的数据,长字段被四舍五入的数据


					}
				

进行到这里项目中的视频已经正常播放了

uniapp是一个使用Vue.js开发所有前端应用的框架,能够编译到iOS、Android、Web(包括微信小程序)等平台。在uniapp中使用`vue-video-player`可以帮助你更方便地在项目中嵌入视频播放功能。`vue-video-player`是一个基于Video.js的Vue组件,用于视频播放。 要在uniapp项目中使用`vue-video-player`,你可以按照以下步骤进行: 1. 安装`vue-video-player`依赖包: ```bash npm install --save vue-video-player ``` 或者如果你使用Yarn的话: ```bash yarn add vue-video-player ``` 2. 在你的Vue组件中引入`vue-video-player`并注册: ```javascript import VideoPlayer from 'vue-video-player/src' export default { components: { VideoPlayer } // 其他组件选项... } ``` 3. 在组件的模板中使用`<video-player>`标签,并指定必要的属性: ```html <template> <video-player class="video-player-theme-default vjs-custom-skin" ref="videoPlayer" :options="playerOptions" @play="handlePlay" @pause="handlePause" @ended="handleEnded" @enter-fullscreen="handleFullscreen" @exit-fullscreen="handleExitFullscreen" ></video-player> </template> ``` 4. 在组件的`data`函数中定义`playerOptions`属性,配置视频播放的详细参数: ```javascript export default { data() { return { playerOptions: { playbackRates: [0.5, 1.0, 1.5, 2.0], // 播放速度 language: 'zh-CN', aspectRatio: '16:9', // 尺寸比例 // 其他Video.js支持的配置项... } } } } ``` 5. 在组件中添加对应的事件处理函数(如上面示例中的`handlePlay`、`handlePause`等)以处理视频播放相关的事件。 确保你已经正确配置了`vue-video-player`的样式,并根据uniapp的具体运行环境(如微信小程序)进行相应的调整和优化。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值