小程序模板網(wǎng)

微信小程序live-pusher那些坑

發(fā)布時(shí)間:2018-05-05 15:08 所屬欄目:小程序開發(fā)教程

最近在做用微信小程序?qū)崿F(xiàn)實(shí)時(shí)通話,一個(gè)頁面同時(shí)使用了live-pusher和live-player。中途踩了許多坑,在這里做一下總結(jié),希望能幫到大家。

 

1問題:Live-player播著播著沒聲音了。

原因:對live-pusher進(jìn)行start, stop,resume等操作時(shí),會停止所有正在播放的live-player的聲音。(暫時(shí)沒發(fā)現(xiàn)調(diào)用live-pusher的pause會引起這個(gè)問題。)

兩種解決方案:

一種是避免在live-player播放后操作live-pusher。比如進(jìn)頁面直接開啟live-pusher,然后不再操作。官方DEMO就是使用這種方案。

第二種,則是每次操作live-pusher后,都重新調(diào)用live-player的play操作(感覺需要短暫的延遲調(diào)用)。不過這會引起正在播放的live-player音視頻的短暫中斷,體驗(yàn)不是太好,所以業(yè)務(wù)許可的話,第一種更推薦。

 

2問題:Live-pusher調(diào)用start之后,隨機(jī)出現(xiàn),返回成功,卻并沒有視頻顯示

原因:這種情況下,并不會收到OnPush回調(diào)。感覺是跟頁面標(biāo)簽的初始化,URL的設(shè)置,以及start的調(diào)用時(shí)機(jī)等有關(guān)。

解決方案:

在OnLoad的時(shí)候,就把標(biāo)簽的Url設(shè)置好。wx.createLivePusherContext的調(diào)用則要放在onReady之后。如果不能一開始設(shè)置好Url,可以在wxml里,用wx:if控制live-pusher標(biāo)簽等到url設(shè)置好了再有。

 

3問題:enable-camera屬性似乎無效。

解決方案:bool類型的屬性,正確寫法應(yīng)該是這樣的:[enable-camera="{{enable}}” ]

 

4問題:調(diào)用live-pusher的start之后,沒有調(diào)用傳入的成功,失敗,完成的任何回調(diào),沒有出現(xiàn)視頻。

原因:在某次測試中,彈出攝像頭的權(quán)限申請的時(shí)候,拒絕了。這個(gè)設(shè)置跟微信賬號綁定,出現(xiàn)某個(gè)微信賬號必現(xiàn)失敗的時(shí)候,可能是這種情況。

解決方案:在微信里,點(diǎn) 發(fā)現(xiàn)->小程序,在里面刪掉你的應(yīng)用,重新掃碼進(jìn)入,會重新彈出權(quán)限申請,同意即可。

 

5問題:用wxml用wx:for把一個(gè)數(shù)組和一組live-player綁定時(shí),多次修改數(shù)組內(nèi)容,界面上的live-player多出一個(gè)來。而多次測試,確定數(shù)組內(nèi)容正確。

原因:這是我覺得最神奇的一個(gè)BUG,也很難清楚的描述到底出現(xiàn)了啥,不過好在找到了解決方法。

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

 

6問題:iPad版微信掃描小程序二維碼無效

原因:小程序目前只支持手機(jī)。

 

7問題:live-pusher出現(xiàn)紅色報(bào)錯(cuò),說渲染失敗,access denied.

原因:live-pusher目前只對部分品類的應(yīng)用開放,且需要在網(wǎng)站設(shè)置。設(shè)置完如果還不行,嘗試下刪除小程序重裝,退出微信等,會成功的。

 

總結(jié)上面這些問題的解決,覺得最重要的是耐心與細(xì)致。



易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://www.u-renovate.com/wxmini/doc/course/24267.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢