解决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;
        }
      }

    },

你可能感兴趣的:(解决video-player插件在安卓上设置播放时间不生效问题)