小瓶盖1
小瓶盖1
  • 发布:2019-10-12 14:46
  • 更新:2020-03-08 15:15
  • 阅读:4191

一个页面多个视频,控制只播放一个

分类:uni-app
vue:  
<video :id="'video'+index" :src="item.photo_list[0]" @play="videoPlayHandle('video'+index)"></video>
data:  
video:null
methods:  
// 视频播放需要暂停其他视频,也支持当前视频播放暂停  
            videoPlayHandle(id) {  
                let newVideo = uni.createVideoContext(id);  
                if (!this.video) {  
                    this.video = newVideo;  
                    this.video.play();  
                    return  
                }  
                if (this.video.id !== newVideo.id) {  
                    newVideo.play();  
                    this.video.pause();  
                    this.video = newVideo;  
                }  
            },

app中无效,待解决

4 关注 分享
Vali 世博啊 老哥教教我 7***@qq.com

要回复文章请先登录注册

v***@sina.com

v***@sina.com

videoPlayHandle(id) {
let newVideo = uni.createVideoContext(id);
newVideo.id = id
if (!this.video) {
this.video = newVideo;
this.video.play();
return
}
if (this.video.id !== newVideo.id) {
newVideo.play();
this.video.pause();
this.video = newVideo;
}
}
我在iOS测试newVideo 是个空对象,newVideo.id 取不到值,第二个if走不到,在第三行代码加了newVideo.id = id ,测试可以。谢谢!
2020-03-08 15:15
卟懂

卟懂

回复 Vali :
这个问题解决了吗?
2020-02-20 13:43
3***@qq.com

3***@qq.com

这个在H5端调试成功,但是在app端没有效果。怎么回事呢 ,用console.log(newVideo)时候,输出时,这个对象不带play和pause方法。它们在对象里的__proto__才有。
2019-11-09 10:53
小瓶盖1

小瓶盖1 (作者)

回复 Vali :
小程序没有试过了,23333
2019-10-29 11:34
小瓶盖1

小瓶盖1 (作者)

回复 Vali :
我也是借鉴人家的,自己稍微修改整理了一下
2019-10-29 11:34
Vali

Vali

怎么好像在微信小程序没效果?
2019-10-24 17:16
Vali

Vali

还是你写的清楚,看过一个,写的不是很清楚。感谢大佬
2019-10-24 16:20