4737关注14347浏览
现象:
我们现在在同一个文件里,有两个方法,假设是 x,y
1. 在 wxml 里,我们将 playUrl 的值设置为了 liveplayer 的 src,即 src="{{playUrl}}"
2. 在 x 里,创建一个对象 { a: 1, b: 2 },并通过 setData,将该对象设置给 z
3. 在 y 里,取出 z,向 z 中添加新的键值对:{ playUrl:’xxxx’, player:wxCreateLivePlayerContext(‘key’, self) } ,再通过 setData 设置回去。所以此时,z 变成 {a: 1, b: 2, playUrl:’xxxx’, player:wxCreateLivePlayerContext(‘key’, self)}
4. 步骤 3 里的 setData 成功以后,我们按常规方法调用 player.stop(), player.play() ,最后发现,play() 调用成功(成功进入 success 回调),但是一直收不到 player 的状态事件回调,播放器一直没有画面
排查后:
如果第 2 步中,不对对象 z 在进行 { a: 1, b: 2 } 的设置,而是直接在第 3 步中仅将 z 设置为 { playUrl:’xxxx’, player:wxCreateLivePlayerContext(‘key’, self) },播放成功,有画面
报错:
整个过程中微信底层没有任何报错。
问题是,是我们的使用问题,还是小程序 SDK Bug?
-
至过去的我
2044人对此回答表示赞同
我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>