public void DownloadAudioSync() { if (string.IsNullOrEmpty(youtubePlayer.youtubeUrl)) { Debug.LogError("YOTUUBE URL NULL"); } var v = (useDataPath ? System.IO.Directory.GetCurrentDirectory() : Environment.GetFolderPath(destination)) + @"/Recordings/"; if (!Directory.Exists(v)) { Directory.CreateDirectory(v); } var link1 = new LinkInfo(youtubePlayer.youtubeUrl); var downloader = new YTDownloaderBuilder() .SetExportAudioPath(v) // mandatory .SetExportVideoPath(v) // mandatory .SetExportOptions(ExportOptions.ExportAudio) // default setting .SetSkipDownloadIfFilesExists(false) // default setting .SetLinks(link1) // check other overloads .Build(); YoutubePlayer.OnDownloading.Invoke(); downloader.AddDownloadProgressChangedAction(link1.GUID, (evArgs) => { Report(evArgs.ProgressPercentage * 0.01); }); downloader.AddDownloadStartedAction(link1.GUID, (evArgs) => { Debug.Log("DOWNLOAD AUDIO STARTED"); }); downloader.AddDownloadFinishedAction(link1.GUID, (evArgs) => { Debug.Log("DOWNLOAD FINISHED"); }); downloader.AddAudioConvertingEndedAction(link1.GUID, (convertArgs) => { YoutubePlayer.OnEndDownload.Invoke(); //Console.WriteLine("Converting audio done !"); }); DownloadResult[] results = downloader.DownloadLinks(); // process download }
public async void DownloadAudio() { if (string.IsNullOrEmpty(youtubePlayer.youtubeUrl)) { Debug.LogError("YOTUUBE URL NULL"); return; } if (!tryMultipleMethods) { DownloadVideoAndExtract(); return; } var v = (useDataPath ? System.IO.Directory.GetCurrentDirectory() : Environment.GetFolderPath(destination)) + @"\Recordings\"; if (!Directory.Exists(v)) { Directory.CreateDirectory(v); } var link1 = new LinkInfo(youtubePlayer.youtubeUrl); YoutubePlayer.OnAudioExtracting.Invoke(); var downloader = new YTDownloaderBuilder() .SetExportAudioPath(v) // mandatory .SetExportVideoPath(v) // mandatory .SetExportOptions(ExportOptions.ExportAudio | ExportOptions.ExportVideo) .SetSkipDownloadIfFilesExists(false) // default setting .SetLinks(link1) // check other overloads .Build(); downloader.AddDownloadProgressChangedAction(link1.GUID, (evArgs) => { Report(evArgs.ProgressPercentage * 0.01); }); downloader.AddDownloadStartedAction(link1.GUID, (evArgs) => { Debug.Log("DOWNLOAD AUDIO STARTED"); }); downloader.AddDownloadFinishedAction(link1.GUID, (evArgs) => { Debug.Log("DOWNLOAD FINISHED"); YoutubePlayer.OnEndAudioExtracting.Invoke(); }); try { DownloadResult[] results = await downloader.DownloadLinksAsync(CancellationToken.None); // process download foreach (var res in results) { Console.WriteLine(res.AudioSavedFilePath); Console.WriteLine(res.VideoSavedFilePath); Console.WriteLine(res.FileBaseName); Console.WriteLine(res.GUID); Console.WriteLine(res.DownloadSkipped); } } catch (Exception e) { Debug.LogError("Couldn't extract audio because " + e); YoutubePlayer.OnEndAudioExtracting.Invoke(); YoutubePlayer.OnErrorShown.Invoke(e.Message); Debug.LogError("Trying other method... "); NewTest(); //OldDownload(); } }