Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static async Task AddMusicFromYoutube(VoiceNextConnection vnc, CommandContext ctx, string url)
- {
- string fileName = "";
- if (url.ToLower().Contains("youtube.com"))
- {
- fileName = await DownloadFromYouTube(url);
- if (fileName == string.Empty) return;
- await ctx.RespondAsync($"Playing for **Youtube** -> `{url}`");
- await vnc.SendSpeakingAsync(true);
- var ffmpeg_pro = new ProcessStartInfo
- {
- FileName = "Libs/ffmpeg",
- Arguments = $@"-xerror -i ""{fileName}.mp3"" -ac 2 -f s16le -ar 48000 pipe:1",
- RedirectStandardOutput = true,
- UseShellExecute = false
- };
- var ffmpeg = Process.Start(ffmpeg_pro);
- Stream ffout = ffmpeg.StandardOutput.BaseStream;
- using (var ms = new MemoryStream())
- {
- await ffout.CopyToAsync(ms);
- ms.Position = 0;
- var buff = new byte[3840];
- var br = 0;
- while ((br = ms.Read(buff, 0, buff.Length)) > 0)
- {
- if (br < buff.Length)
- for (var i = br; i < buff.Length; i++)
- buff[i] = 0;
- await vnc.SendAsync(buff, 20); // Send PCM date for discord
- //tentativa de parar a musica
- if (Program.IsPuased)
- {
- while (Program.IsPuased)
- {
- }
- }
- }
- ms.Close();
- }
- await vnc.SendSpeakingAsync(false);
- }
- else
- {
- await ctx.RespondAsync($"{ctx.Member.Mention}, por agora sรณ aceito link's do Youtube!");
- return;
- }
- }
Add Comment
Please, Sign In to add comment