onPlayerVisibilityChanged method

void onPlayerVisibilityChanged(
  1. double visibilityFraction
)

播放器被遮挡

Implementation

void onPlayerVisibilityChanged(double visibilityFraction) async {
  if (_dispose) {
    return;
  }

  // 不监听播放器变化
  if ((value.videoPlayerController?.hasListeners ?? false) == false) {
    return;
  }

  value = value.copyWith(visibilityFraction: visibilityFraction);

  final videoPlayerController = value.videoPlayerController;
  if (videoPlayerController == null) {
    return;
  }

  if (visibilityFraction == 0) {
    _autoPause = videoPlayerController.value.isPlaying;
    if (_autoPause) {
      await pause();
    }
  } else {
    if (_autoPause && value.configuration.autoPlayWhenResume) {
      _autoPause = false;
      await play();
    }

    _onVideoPlayerChanged();
  }
}