Tweaks to audio docs (#867)
* Tweaks to audio docs * Make it more obvious that -1 means infinity
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using Microsoft.Extensions.DependencyInjection;
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
using Discord;
|
using Discord;
|
||||||
@@ -88,7 +89,7 @@ class Program
|
|||||||
await _client.StartAsync();
|
await _client.StartAsync();
|
||||||
|
|
||||||
// Wait infinitely so your bot actually stays connected.
|
// Wait infinitely so your bot actually stays connected.
|
||||||
await Task.Delay(-1);
|
await Task.Delay(Timeout.Infinite);
|
||||||
}
|
}
|
||||||
|
|
||||||
private IServiceProvider _services;
|
private IServiceProvider _services;
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
private Process CreateStream(string path)
|
private Process CreateStream(string path)
|
||||||
{
|
{
|
||||||
var ffmpeg = new ProcessStartInfo
|
return Process.Start(new ProcessStartInfo
|
||||||
{
|
{
|
||||||
FileName = "ffmpeg",
|
FileName = "ffmpeg",
|
||||||
Arguments = $"-i {path} -ac 2 -f s16le -ar 48000 pipe:1",
|
Arguments = $"-hide_banner -loglevel panic -i \"{path}\" -ac 2 -f s16le -ar 48000 pipe:1",
|
||||||
UseShellExecute = false,
|
UseShellExecute = false,
|
||||||
RedirectStandardOutput = true,
|
RedirectStandardOutput = true,
|
||||||
};
|
});
|
||||||
return Process.Start(ffmpeg);
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
private async Task SendAsync(IAudioClient client, string path)
|
private async Task SendAsync(IAudioClient client, string path)
|
||||||
{
|
{
|
||||||
// Create FFmpeg using the previous example
|
// Create FFmpeg using the previous example
|
||||||
var ffmpeg = CreateStream(path);
|
using (var ffmpeg = CreateStream(path))
|
||||||
var output = ffmpeg.StandardOutput.BaseStream;
|
using (var output = ffmpeg.StandardOutput.BaseStream)
|
||||||
var discord = client.CreatePCMStream(AudioApplication.Mixed);
|
using (var discord = client.CreatePCMStream(AudioApplication.Mixed))
|
||||||
await output.CopyToAsync(discord);
|
{
|
||||||
await discord.FlushAsync();
|
try { await output.CopyToAsync(discord); }
|
||||||
|
finally { await discord.FlushAsync(); }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,4 +7,4 @@ public async Task JoinChannel(IVoiceChannel channel = null)
|
|||||||
|
|
||||||
// For the next step with transmitting audio, you would want to pass this Audio Client in to a service.
|
// For the next step with transmitting audio, you would want to pass this Audio Client in to a service.
|
||||||
var audioClient = await channel.ConnectAsync();
|
var audioClient = await channel.ConnectAsync();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user