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

y乐悠 2024-07-24 11:33:08 阅读 75

背景:

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

参考资料:

video-player

Docs

icon-default.png?t=N7T8

https://bytedance.larkoffice.com/docx/TsJmdbX6co33uJxi7j9cfYc2nnd#Mp5Hd1YOYoOrBGxjTK3cngUFnWd小程序自定义组件支持

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

流程:

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

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

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

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

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

视频播放异常分析:

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

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

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

我获取的

后端传过来的

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

eg:我的处理办法如下

<code>//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') //有问题的数据,长字段被四舍五入的数据

}

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。