小程序模板网

微信小程序live-pusher那些坑

最近在做用微信小程序实现实时通话,一个页面同时使用了live-pusher和live-player。中途踩了许多坑,在这里做一下总结,希望能帮到大家。

 

1问题:Live-player播着播着没声音了。

原因:对live-pusher进行start, stop,resume等操作时,会停止所有正在播放的live-player的声音。(暂时没发现调用live-pusher的pause会引起这个问题。)

两种解决方案:

一种是避免在live-player播放后操作live-pusher。比如进页面直接开启live-pusher,然后不再操作。官方DEMO就是使用这种方案。

第二种,则是每次操作live-pusher后,都重新调用live-player的play操作(感觉需要短暂的延迟调用)。不过这会引起正在播放的live-player音视频的短暂中断,体验不是太好,所以业务许可的话,第一种更推荐。

 

2问题:Live-pusher调用start之后,随机出现,返回成功,却并没有视频显示

原因:这种情况下,并不会收到OnPush回调。感觉是跟页面标签的初始化,URL的设置,以及start的调用时机等有关。

解决方案:

在OnLoad的时候,就把标签的Url设置好。wx.createLivePusherContext的调用则要放在onReady之后。如果不能一开始设置好Url,可以在wxml里,用wx:if控制live-pusher标签等到url设置好了再有。

 

3问题:enable-camera属性似乎无效。

解决方案:bool类型的属性,正确写法应该是这样的:[enable-camera="{{enable}}” ]

 

4问题:调用live-pusher的start之后,没有调用传入的成功,失败,完成的任何回调,没有出现视频。

原因:在某次测试中,弹出摄像头的权限申请的时候,拒绝了。这个设置跟微信账号绑定,出现某个微信账号必现失败的时候,可能是这种情况。

解决方案:在微信里,点 发现->小程序,在里面删掉你的应用,重新扫码进入,会重新弹出权限申请,同意即可。

 

5问题:用wxml用wx:for把一个数组和一组live-player绑定时,多次修改数组内容,界面上的live-player多出一个来。而多次测试,确定数组内容正确。

原因:这是我觉得最神奇的一个BUG,也很难清楚的描述到底出现了啥,不过好在找到了解决方法。

解决方案:在.json文件里,加上‘"usingComponents": {}’这一句就可以。

 

6问题:iPad版微信扫描小程序二维码无效

原因:小程序目前只支持手机。

 

7问题:live-pusher出现红色报错,说渲染失败,access denied.

原因:live-pusher目前只对部分品类的应用开放,且需要在网站设置。设置完如果还不行,尝试下删除小程序重装,退出微信等,会成功的。

 

总结上面这些问题的解决,觉得最重要的是耐心与细致。



易优小程序(企业版)+灵活api+前后代码开源 码云仓库:starfork
本文地址:https://www.eyoucms.com/wxmini/doc/course/24267.html 复制链接 如需定制请联系易优客服咨询:800182392 点击咨询
QQ在线咨询