最近在做用微信小程序实现实时通话,一个页面同时使用了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