video组件更换src后无法播放问题
发布于 5 年前 作者 denglei 1986 次浏览 来自 问答
  • 当前 Bug 的表现(可附上截图)

video标签绑定了一个值{{src}},此src赋值后无法正常播放视频,如果视频地址固定在video的src属性中则可以正常播放

  • 预期表现

动态更改src值以达到切换视频目的

  • 复现路径
  • 提供一个最简复现 Demo
http({
    url: app.config['GET_VIDEO_LIST'],
    success:function(data){
    console.log(data)
    that.setData({ src: data.data.list[0].url})
})

视频点击播放按钮后没有任何反应


自己已经找到解决方案。

对于setData的问题,基础库版本调到2.3.2即可。


另外发现问题:

在微信6.7.3版本小程序中,若视频组件样式初始大小,小于等于2px。

例如:

XML:
<video class="player" .... />
 
CSS:
.player{
 width:0px; /* <=2px */
 height:1px;/* <=2px */

}

这样就会直接导致视频无法播放,即使操作过上面的步骤。

3 回复

更改基础库版本到2.3左右可以,2.4以上不行

是小游戏的还是小程序的?ios还是安卓?微信版本是?

安卓下切换src就会黑屏,有一个规避的方法就是每次切换视频的之前摧毁之前的video组件,然后设置上新src后重新生成一个video组件,用settimeout异步执行一下就可以了。就是切换的时候视频会黑一下,判断一下ios和安卓,ios本身切换src就不会有问题,安卓下才是用这种方式。

回到顶部