mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-07 21:48:14 -08:00
56 lines
1.4 KiB
Dart
56 lines
1.4 KiB
Dart
enum VideoPlayerState {
|
|
minimized,
|
|
fullScreen,
|
|
disposed,
|
|
}
|
|
|
|
class MediaPlaybackModel {
|
|
final VideoPlayerState state;
|
|
final bool playing;
|
|
final Duration position;
|
|
final Duration lastPosition;
|
|
final Duration duration;
|
|
final Duration buffer;
|
|
final bool completed;
|
|
final bool errorPlaying;
|
|
final bool buffering;
|
|
final bool fullScreen;
|
|
MediaPlaybackModel({
|
|
this.state = VideoPlayerState.disposed,
|
|
this.playing = false,
|
|
this.position = Duration.zero,
|
|
this.lastPosition = Duration.zero,
|
|
this.duration = Duration.zero,
|
|
this.buffer = Duration.zero,
|
|
this.completed = false,
|
|
this.errorPlaying = false,
|
|
this.buffering = false,
|
|
this.fullScreen = false,
|
|
});
|
|
|
|
MediaPlaybackModel copyWith({
|
|
VideoPlayerState? state,
|
|
bool? playing,
|
|
Duration? position,
|
|
Duration? lastPosition,
|
|
Duration? duration,
|
|
Duration? buffer,
|
|
bool? completed,
|
|
bool? errorPlaying,
|
|
bool? buffering,
|
|
bool? fullScreen,
|
|
}) {
|
|
return MediaPlaybackModel(
|
|
state: state ?? this.state,
|
|
playing: playing ?? this.playing,
|
|
position: position ?? this.position,
|
|
lastPosition: lastPosition ?? this.lastPosition,
|
|
duration: duration ?? this.duration,
|
|
buffer: buffer ?? this.buffer,
|
|
completed: completed ?? this.completed,
|
|
errorPlaying: errorPlaying ?? this.errorPlaying,
|
|
buffering: buffering ?? this.buffering,
|
|
fullScreen: fullScreen ?? this.fullScreen,
|
|
);
|
|
}
|
|
}
|