解决video-player插件在安卓上设置播放时间不生效问题

接上文,H5实现视频播放器后,增加了新的需求,改为进入页面后,默认在上次的播放位置继续播放视频

但实践发现 将this.$refs.videoPlayer.player.currentTime(playtimes)放在onPlayerLoadeddata事件中时,在IOS端有效,在安卓端无响应

研究后发现因ios与安卓加载事件执行顺序不同,要在onPlayerTimeupdate(player) 上监听安卓端的事件,
故修改如下

// 当播放器在当前播放位置下载数据时触发
    onPlayerLoadeddata($event) {
      let playtimes = Number(this.playtimes);
      let userAgent_m = navigator.userAgent;
      if (
        userAgent_m.indexOf("iPhone") > -1 ||
        userAgent_m.indexOf("iOS") > -1
      ) {
        // 因ios与安卓加载事件执行顺序不同,此处用于修改ios端视频初始播放位置
        this.$refs.videoPlayer.player.play();
        this.$refs.videoPlayer.player.currentTime(playtimes);
      }
    },

    // // 当前播放位置发生变化时触发。
    onPlayerTimeupdate(player) {
      // 因ios与安卓加载事件执行顺序不同,此处用于安卓监听timeupdate事件并进行初始播放位置赋值currentTime,只赋值一次
      let playtimes = Number(this.playtimes);
      let userAgent_m = navigator.userAgent;
      if (
        userAgent_m.indexOf("iPhone") > -1 ||
        userAgent_m.indexOf("iOS") > -1
      ) {
        // ios
      } else {
        // 安卓
        if (this.timeflag === 1) {
          this.$refs.videoPlayer.player.currentTime(playtimes);
          this.timeflag = 2;
        }
      }

    },

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容