fromMap static method
Implementation
static DownloadOptions fromMap(Map<Object?, Object?> downloadOptionsMap,
String? otp, String? token, String? playbackInfo, String? customPlayerId) {
String mediaId = downloadOptionsMap['mediaId'] as String;
Map<Object?, Object?> mediaInfoMap =
downloadOptionsMap['mediaInfo'] as Map<Object?, Object?>;
MediaInfo mediaInfo = MediaInfo(
mediaId: mediaInfoMap['mediaId'] as String,
type: MediaInfoType.offline,
title: mediaInfoMap['title'] as String,
description: mediaInfoMap['description'] as String,
duration: Duration(milliseconds: mediaInfoMap['duration'] as int));
final List<AudioTrack> allAudio = [];
final List<VideoTrack> allVideo = [];
List availableTracks = downloadOptionsMap["availableTracks"] as List;
for (var element in availableTracks) {
if (element is Map) {
switch (element["type"]) {
case "audio":
allAudio.add(AudioTrack(
id: element["id"],
language: element["language"],
bitrate: element["bitrate"]));
break;
case "video":
allVideo.add(VideoTrack(
id: element["id"],
bitrate: element["bitrate"],
width: element["width"],
height: element["height"]));
break;
}
}
}
return InternalDownloadOption(mediaId, mediaInfo, allAudio, allVideo, otp, token,
playbackInfo, customPlayerId);
}