videoTurn method

void videoTurn(
  1. int page
)

Implementation

void videoTurn(int page) {
  if (TikUtils.instance.index == page) {
    return;
  }
  //1、播放当前视频;
  //2、保留相邻视频复原其它视频资源;
  var oldIndex = TikUtils.instance.index;
  var newIndex = page;
  recovery(oldIndex, newIndex);
  startVideo(newIndex);
  TikUtils.instance.setIndex(page);
  //触发加载下一页
  var diffCount = count - TikUtils.instance.index;
  var reserveCount = queue.length;
  var surplus = diffCount + reserveCount;
  if (surplus <= 2 && !dataLoading) {
    if (reserveCount > 0) {
      startLoadVideo();
    }
    dataLoading = true;
    nextPage?.call(tikTab ?? VideoTikTab(), newIndex);
  } else if (newIndex > oldIndex && reserveCount > 0) {
    startLoadVideo();
  }
}