微信如何与小程序的视频同时运行

微信如何与小程序的视频同时运行,第1张

百度知道

微信小程序多个视频组件同时播放

青柠姑娘17

TA获得超过3005个赞

关注

成为第581位粉丝

首先说一下我的应用场景, 在小程序中会有多个页面存在视频组件的情况, 为了防止视频播放时多个视频组件同时播放的情况,现记录一下方案:

一. 可以在需要视频播放的地方弄一个视频播放的按钮, 当视频播放的时候再初始化视频组件, 保证整个应用内只有一个视频组件(视频组件的位置需要计算), 整个方法只是理论下的情况

二. 在app.js中 设置两个对象, currentVideoId(播放视频组件的id)和videoContext(当前播放视频的对象, 通过wx.createVideoContext方法获得), 在页面的js中控制, 保证video组件绑定play方法:

<video src="url" bindplay="play"></video>

在play方法中实现即可:

var id = e.currentTarget.id

if (id != null) {

if (app.currentVideoId != id) {

if (app.videoContext != null) {

app.videoContext.stop()

console.warn("暂停")

}

app.currentVideoId = id

app.videoContext = wx.createVideoContext(id)

}

}

因为currentVideoId 和videoContext是唯一的对象, 方法中播放监听事件会暂停之前的播放, 然后再赋值, 等下次video播放监听进来的时候, 会进行判断

三. 包含富文本组件的视频组件同时播放的情况

依据上面的例子, 当自定义富文本组件中包含多个video组件时也用上面的方法会产生错误, 虽然log会显示将执行视频暂停或者停止播放, 但是没有效果, 查看 视频api , 提示

根据api显示, id为video组件的id, 还有一个"Object this", 但是依据上面的api使用, 直接用id确实可以获取video对象, 但是api解释中提示, "在自定义组件下,当前组件实例的this,以 *** 作组件内 video组件", 在自定义组件中, 要加this, 所以总结: 在上面api使用中, 如果video在pages页面中, wx.createVideoContext参数只写id没有问题, 但是当video在自定义组件中, 要必须加this, 才能正确返回VideoContext对象

1、可以使用微信小程序的文件上传功能,把视频文件上传到服务器,然后在小程序中获取文件的URL地址;

2、可以使用微信小程序的相机拍摄功能,把视频文件保存到本地,然后上传到服务器,获取文件的URL地址;

3、可以使用微信小程序的接口,把视频文件上传到微信服务器,然后获取文件的URL地址;

4、可以使用微信小程序的第三方存储服务,把视频文件上传到第三方存储服务,然后获取文件的URL地址。

1、登陆微信,在首页点击“发现”。2、进入“发现”界面底下,点击“朋友圈”。3、进入到“朋友圈”里面,点击右上角的小照相机。4、出现下拉列表,点击“小视屏”。进入之后,就能看到之前发过的小视频存储。5、点击右上角的“编辑”,就能看到,视频上面出现小叉叉。点击小叉叉,就可以删掉。注意直接删除的,还可以撤销。如果确定删除,直接点击“完成”就删除完毕。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11236052.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存