searchForTrack method
override
Searches for tracks.
Implementation
@override
Future<List<YoutubeMusicResult>> searchForTrack(String query, [int itemCount = 5]) async {
var results = await _ytMusicEngine.searchSongs(query);
var returnList = <YoutubeMusicResult>[];
for (var result in results) {
var dataManifest = await _ytExplode.videos.streamsClient.getManifest(result.videoId);
var dlUrl = dataManifest.audioOnly.withHighestBitrate().url.toString();
var highestResThumbnail =
result.thumbnails.reduce((a, b) => a.width * a.height > b.width * b.height ? a : b);
returnList.add(
YoutubeMusicResult(
title: result.name,
artists: [result.artist.name],
album: result.album?.name,
srcUrl: 'https://music.youtube.com/watch?v=${result.videoId}',
dlUrl: dlUrl,
sDuration: result.duration!,
source: Source.youtubeMusic,
artUrl: highestResThumbnail.url,
),
);
}
return returnList;
}