enterFullScreen method

Future<void> enterFullScreen(
  1. AliPlayerWidgetController controller,
  2. int currentPosition
)

播放器横竖屏切换

Implementation

Future<void> enterFullScreen(
    AliPlayerWidgetController controller, int currentPosition) async {
  final data = controller._widgetData;
  if (data == null) return;
  data.startTime = currentPosition;

  // 进入全屏播放器
  AliPlayerWidgetData result = await Navigator.of(_context).push(
    PageRouteBuilder(
      transitionDuration: const Duration(milliseconds: 100), // 动画持续时间
      pageBuilder: (context, animation, secondaryAnimation) {
        return AliPlayerFullScreenWidget(controller, data);
      },
      transitionsBuilder: (context, animation, secondaryAnimation, child) {
        // 淡入淡出动画
        return FadeTransition(
          opacity: animation,
          child: child,
        );
      },
    ),
  );
  final int fullScreenPosition = result.startTime;
  await _aliPlayer.seekTo(fullScreenPosition, result.seekMode);
  controller.play();
}