public string DownloadLrc(ExternalLrcInfo result) { lock (host) { return((string)host.CallFunction("downloadLrc", result)); } }
/// <summary> /// Fetch lyrics by <see cref="ExternalLrcInfo"/> from /// previous call of <see cref="FetchLyricsAsync(string, string, IList{ExternalLrcInfo})"/>. /// </summary> /// <param name="info">Obtained from previous call</param> /// <returns>Parsed lyrics</returns> public static async Task <ParsedLrc> FetchLyricsAsync(ExternalLrcInfo info, string cacheName) { if (info == null) { throw new ArgumentNullException(nameof(info)); } var source = info.Source; if (string.IsNullOrEmpty(source)) { throw new ArgumentNullException(nameof(info.Source), "Where do you come from?"); } var s = SourceScriptManager.GetScript(source); var lrcText = await s.DownloadLrcAsync(info); await SaveLyricsInternalAsync( await GetLyricsSaveFolderAsync(), cacheName, lrcText); if (!string.IsNullOrEmpty(lrcText)) { try { return(LrcParser.Parse(lrcText)); } catch { } } return(null); }
public async Task <string> DownloadLrcAsync(ExternalLrcInfo result) { return(await Task.Run(() => DownloadLrc(result))); }