Я пытаюсь сыграть MemoryStream в Discord.Подключение к Discord работает нормально, а также к AudioChannel.Я собираю данные с помощью NAudio и DataAvailable.Теперь я пытаюсь преобразовать данные из MemoryStream в WaveStream и отправить данные в DiscordBot.Вот код DataVAilable из класса NAudio (Ready (MS) вызывает событие, чтобы показать основному классу, что MemorStream готов отправить на discordBot):
private void Audioin_DataAvailable(object sender, WaveInEventArgs e)
{
ms.Write(e.Buffer, 0, e.BytesRecorded);
if (BytesRecorded == 0)
Ready(ms);
BytesRecorded += e.BytesRecorded;
}
Вот соединение сМетод голосового канала:
private async void connect_channel()
{
AudioClient = await music_channel.ConnectAsync();
output = AudioClient.CreatePCMStream(AudioApplication.Music);
}
А вот мой код воспроизведения:
public void playmusik(MemoryStream ws)
{
Task.Run(() =>
{
WaveStream blockAlignedStream = new RawSourceWaveStream(ws, new Mp3WaveFormat(44100, 2, 627, 192000));
while (true)
{
blockAlignedStream.CopyTo(output);
//OnGetMessage(ws.Length.ToString() + " " + ws.Capacity.ToString() + " " + blockAlignedStream.Length);
}
});
}
MemoryStream захватывает данные и растет, поэтому что-то должно быть внутри, ноон не воспроизводится внутри DiscordBot.