enterFullScreen method
Future<void>
enterFullScreen(
- AliPlayerWidgetController controller,
- int currentPosition, {
- Map<
SlotType, SlotWidgetBuilder?> ? slotBuilders,
播放器横竖屏切换
Implementation
Future<void> enterFullScreen(
AliPlayerWidgetController controller, int currentPosition,
{Map<SlotType, SlotWidgetBuilder?>? slotBuilders}) 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,
slotBuilders: slotBuilders ?? const {},
);
},
transitionsBuilder: (context, animation, secondaryAnimation, child) {
// 淡入淡出动画
return FadeTransition(
opacity: animation,
child: child,
);
},
),
);
final int fullScreenPosition = result.startTime;
await _aliPlayer.seekTo(fullScreenPosition, result.seekMode);
controller.play();
}