forked from gokadzev/Musify
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmediaitem.dart
55 lines (50 loc) · 1.74 KB
/
mediaitem.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import 'package:audio_service/audio_service.dart';
import 'package:just_audio/just_audio.dart';
import 'package:on_audio_query/on_audio_query.dart';
final noImageVar =
'https://images.unsplash.com/photo-1470225620780-dba8ba36b745?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxzZWFyY2h8Mnx8bXVzaWN8ZW58MHx8MHx8&w=500&q=80';
Map mediaItemToMap(MediaItem mediaItem) => {
'id': mediaItem.id,
'ytid': mediaItem.extras!['ytid'],
'album': mediaItem.album.toString(),
'artist': mediaItem.artist.toString(),
'title': mediaItem.title,
'highResImage': mediaItem.artUri.toString(),
'lowResImage': mediaItem.extras!['lowResImage'],
'url': mediaItem.extras!['url'].toString(),
'isLive': mediaItem.extras!['isLive'].toString(),
};
MediaItem songModelToMediaItem(AudioModel song, String songUrl) => MediaItem(
id: song.id.toString(),
album: '',
artist: '',
title: song.displayName,
artUri: Uri.parse(noImageVar),
extras: {
'url': songUrl,
'lowResImage': '',
'ytid': '',
'localSongId': song.id,
'ogid': song.id,
},
);
MediaItem mapToMediaItem(Map song, String songUrl) => MediaItem(
id: song['id'].toString(),
album: '',
artist: song['artist'].toString(),
title: song['title'].toString(),
artUri: Uri.parse(
song['highResImage'].toString(),
),
extras: {
'url': songUrl,
'lowResImage': song['lowResImage'],
'ytid': song['ytid'],
'localSongId': song['localSongId'],
'isLive': song['isLive'],
},
);
UriAudioSource createAudioSource(MediaItem mediaItem) => AudioSource.uri(
Uri.parse(mediaItem.extras!['url'].toString()),
tag: mediaItem,
);