public async void DownloadSong(string uri, string directory) { //try //{ YourTube yourTube = new YourTube(); var youtube = new YoutubeClient(); var vid = await youtube.Videos.GetAsync(uri); if (File.Exists(directory + "\\" + vid.Title + ".mp3")) { yourTube.YouHaveSong(); } else { var streamManifest = await youtube.Videos.Streams.GetManifestAsync(vid.Id); var streamInfo = streamManifest.GetAudioOnly().WithHighestBitrate(); if (streamInfo != null) { await youtube.Videos.Streams.GetAsync(streamInfo); await youtube.Videos.Streams.DownloadAsync(streamInfo, vid.Title + ".mp3"); } string data = Directory.GetCurrentDirectory() + "\\"; AudioConverter audioConverter = new AudioConverter(); audioConverter.ConvertAudio(data + vid.Title); File.Move(data + vid.Title + ".mp3", directory + "\\" + vid.Title + ".mp3"); int index = 1; progressBar1.Invoke((int)index); yourTube.DownloadEn(); } //} //catch (Exception e) //{ // DownloadSong(uri, directory); //} }