public Track LookupTrack(string TrackId)
{
var lookupRequest = youtubeService.Videos.List("contentDetails,snippet");
lookupRequest.Id = TrackId;
var queryResult = lookupRequest.Execute();
foreach (var video in queryResult.Items)
{
var span = XmlConvert.ToTimeSpan(video.ContentDetails.Duration);
try {
var track = new Track
{
Title = video.Snippet.Title.Split(new[] { " - " }, StringSplitOptions.None)[1],
Artist = video.Snippet.Title.Split(new[] { " - " }, StringSplitOptions.None)[0],
Duration = (int)span.TotalSeconds
};
Thumbnail[] thumbnails = { video.Snippet.Thumbnails.Maxres, video.Snippet.Thumbnails.High, video.Snippet.Thumbnails.Medium, video.Snippet.Thumbnails.Default__ };
track.CoverArtUrl = thumbnails.First(t => t != null).Url;
track.TrackSource = new TrackSource()
{
SourceType = SourceType.YouTube,
Url = $"https://www.youtube.com/watch?v={video.Id}",
TrackId = video.Id
};
return track;
}
catch
{
return null;
}
}
return null;
}