MiniProgramMediaPlaybackSnapshot.fromJson constructor

MiniProgramMediaPlaybackSnapshot.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory MiniProgramMediaPlaybackSnapshot.fromJson(Map<String, dynamic> json) {
  final playerId = json['playerId'];
  final kind = json['kind'];
  final status = json['status'];
  final positionMs = json['positionMs'];
  final durationMs = json['durationMs'];
  final bufferedMs = json['bufferedMs'];
  final volume = json['volume'];
  final speed = json['speed'];
  final muted = json['muted'];
  if (playerId is! String ||
      kind is! String ||
      status is! String ||
      positionMs is! int ||
      (durationMs != null && durationMs is! int) ||
      bufferedMs is! int ||
      volume is! num ||
      speed is! num ||
      muted is! bool) {
    throw const FormatException(
      'Invalid mini-program media playback snapshot.',
    );
  }
  return MiniProgramMediaPlaybackSnapshot(
    playerId: playerId,
    kind: _playbackKind(kind),
    status: _playbackStatus(status),
    position: Duration(milliseconds: positionMs),
    duration: durationMs == null ? null : Duration(milliseconds: durationMs),
    buffered: Duration(milliseconds: bufferedMs),
    volume: volume.toDouble(),
    speed: speed.toDouble(),
    muted: muted,
  );
}