1***@163.com
1***@163.com
  • 发布:2020-12-24 11:30
  • 更新:2022-05-21 11:10
  • 阅读:3747

uni-app video组件的uni.createVideoContext(videoId, this)不能使用paly和pause方法

分类:uni-app

使用video组件,然后在onReady中调用this.videoContext = uni.createVideoContext('myVideo'),(加不加this,结果都是一样)然后使用自定义的图片播放和暂停视频,this.videoContext.play()和this.videoContext.pause()这两个方法,始终不执行,

onReady: function(res) {  
    this.videoContext = uni.createVideoContext('videoPlayer')  
},  

handlePlay() {  
    this.videoContext.play()  
    this.showImg = true;  

},  
handlePause() {  
    this.videoContext.pause()  
    this.showImg = false;  
},
2020-12-24 11:30 负责人:无 分享
已邀请:
DCloud_uniCloud_JSON

DCloud_uniCloud_JSON

  • 1***@163.com (作者)

    刚解决了,感觉是不能再子组件中使用video上的API

    2020-12-24 12:07

  • 狮王电竞

    回复 1***@163.com: 解决方法能说下吗 难道不使用子组件?

    2021-01-05 10:44

  • 1***@163.com (作者)

    回复 狮王电竞: 我之前是在子组件中使用video标签,调用方法也是在子组件中操作,后来把组件拿出来了,就直接放到一级页面里,就可以用了

    2021-01-12 11:32

  • DCloud_uniCloud_JSON

    回复 狮王电竞: 可以当子组件。这里没说清楚是nvue还是vue什么平台,安卓还是苹果。uni-app不可能存在超级明显的bug我们每个版本发版都会走自动化测试例,不提供demo也不说清楚设备环境等情况。让官方猜,我们猜不出来就先去处理认真报bug的帖子。这类帖子就没人理了

    2021-01-12 14:32

  • 大前端小王子

    回复 DCloud_uniCloud_JSON: 我这边补充一下,nvue,子组件,(IOS和安卓打包自定义基座,测试机xr、iphone6、红米、vivox7、华为mate10、华为p20);使用过程中有时候会出现暂停需要触发2次才能播放的情况,不是100%触发,但是几率很高。关键代码见下文

    2022-05-21 11:10

  • DCloud_uniCloud_JSON

    回复 8***@qq.com: 请点此 重新提交bug

    2022-05-23 20:15

大前端小王子

大前端小王子 - 软件开发工程师

我这边补充一下,nvue,子组件,(IOS和安卓打包自定义基座,测试机xr、iphone6、红米、vivox7、华为mate10、华为p20);使用过程中有时候会出现暂停需要触发2次才能播放的情况,不是100%触发,但是几率很高。


// 暂停播放  
            handleRePause() {  
                console.log('点击暂停播放')  

                let video = uni.createVideoContext('myVideo', this);  
                if (this.$refs.myVideo) {  
                    this.$refs.myVideo.pause();  
                }  
                if (video) {  
                    video.pause();  
                }  

            },
// 重新开始播放  
            handleRePlay() {  

                if (this.$refs.myVideo) {  
                    this.$refs.myVideo.play();  
                }  
                let video = uni.createVideoContext('myVideo', this);  
                if (video) {  
                    video.play();  
                }  

            },

要回复问题请先登录注册