Discord.NET 1.0.2 отправка голоса на голосовой канал не работает

Я сделал все как голосовое руководство по документации Discord.Net - https://discord.foxbot.me/latest/guides/voice/sending-voice.html и это не сработало, бот просто присоединился к голосовому каналу, но не сделать любой звук. и у меня есть ffmpeg, установленный в PATH, и ffmpeg.exe в моем каталоге ботов, а также opus.dll и libsodium.dll, поэтому я не знаю, в чем проблема...

    public class gil : ModuleBase<SocketCommandContext>
{
    [Command("join")]
    public async Task JoinChannel(IVoiceChannel channel = null)
    {
        // Get the audio channel
        channel = channel ?? (Context.Message.Author as IGuildUser)?.VoiceChannel;
        if (channel == null) { await Context.Message.Channel.SendMessageAsync("User must be in a voice channel, or a voice channel must be passed as an argument."); return; }

        // For the next step with transmitting audio, you would want to pass this Audio Client in to a service.
        var audioClient = await channel.ConnectAsync();

        await SendAsync(audioClient,"audio/hello.mp3");
    }

    private Process CreateStream(string path)
    {
        return Process.Start(new ProcessStartInfo
        {
            FileName = "ffmpeg.exe",
            Arguments = $"-hide_banner -loglevel panic -i \"{path}\" -ac 2 -f s16le -ar 48000 pipe:1",
            UseShellExecute = false,
            RedirectStandardOutput = true,
        });
    }

    private async Task SendAsync(IAudioClient client, string path)
    {
        // Create FFmpeg using the previous example
        using (var ffmpeg = CreateStream(path))
        using (var output = ffmpeg.StandardOutput.BaseStream)
        using (var discord = client.CreatePCMStream(AudioApplication.Mixed))
        {
            try { await output.CopyToAsync(discord); }
            finally { await discord.FlushAsync(); }
        }
    }
}

пожалуйста помоги

0 ответов

Другие вопросы по тегам