如何在touchmove上开始在Andriod Chrome上播放视频? Vue.js

时间:2018-07-13 10:57:06

标签: javascript vue.js

我有一个视频可以在台式机上自动播放,但可以在移动设备上播放,不是因为

  

DOMException:play()失败,因为用户没有首先与文档进行交互。

我想在用户滑动屏幕时开始播放视频。

所以我这样尝试了:

mounted() {
    document.addEventListener('touchmove', this.handleSwipe, false);
}
methods: {
    handleSwipe() {
        const video = document.querySelector('#main-video');
        if (video.currentTime === 0 || video.paused) {
            video.play()
        }
    }
}

这仍然给我同样的错误。

如果我将touchmove更改为touchstart,并且将video.play()更改为video.load();,则此方法有效

通过这种方式,视频可以开始点击播放。但是有办法在滑动上播放吗?

更新 如果我这样做

mounted() {
        document.addEventListener('touchstart', this.handleSwipe, false);
    }
    methods: {
        handleSwipe() {
            const video = document.querySelector('#main-video');
            if (video.currentTime === 0 || video.paused) {
                video.play()
            }
        }
    }

然后它将在第二次点击时起作用。就像第一次点击不会注册为与文档的交互。

0 个答案:

没有答案