Как передать звук с сервера на клиент?

236
18 мая 2017, 08:39

Доброго времени суток.

Уже пару дней не могу понять почему этот код отлично работает:

UdpClient client = new UdpClient(755);
byte[] sdata = Encoding.UTF8.GetBytes("Test");
client.Send(sdata, sdata.Length, "46.174.49.51", 54321);
IPEndPoint remoteEP = null;
byte[] rdata = client.Receive(ref remoteEP);
Console.WriteLine(Encoding.UTF8.GetString(rdata) + " from " + remoteEP.Port);
Console.ReadLine();

А этот нет: (using NAudio.Wave)

class Recorder
    {
        UdpClient client = new UdpClient(755);
        WaveInEvent wave = new WaveInEvent();
        public Recorder()
        {
            Thread play = new Thread(new ThreadStart(Play));
            play.Start();
            wave.BufferMilliseconds = 100;
            wave.DeviceNumber = 0;
            wave.WaveFormat = new WaveFormat(8000, 16, 2);
            wave.DataAvailable += Wave_DataAvailable;
            wave.StartRecording();
        }
        private void Play()
        {
            WaveOutEvent output = new WaveOutEvent();
            BufferedWaveProvider buffer = new BufferedWaveProvider(new WaveFormat(8000, 16, 2));
            output.Init(buffer);
            output.Play();
            for(;;)
            {
                IPEndPoint remoteEP = null;
                byte[] data = client.Receive(ref remoteEP);
                buffer.AddSamples(data, 0, data.Length);
            }
        }
        private void Wave_DataAvailable(object sender, WaveInEventArgs e)
        {
            client.Send(e.Buffer, e.BytesRecorded, "46.174.49.51", 54321);
        }
    }

В первом случае передается текст. А во втором звук записываемый с микрофона, который воспроизводится при получении.

READ ALSO
Печать Word документа

Печать Word документа

Изучаю документацию по работе с Word документами

265
Как изменить глобальной форматирование даты в mssql/mssql_fetch_assoc?

Как изменить глобальной форматирование даты в mssql/mssql_fetch_assoc?

Суть в чём: есть БД MSSQL и запрос в PHP, результат которого извлекается за счет mssql_fetch_assocТак вот на разных серверах дата в выборке приходит в разных...

322
PHP imagecropauto заменяет прозрачный фон на чёрный

PHP imagecropauto заменяет прозрачный фон на чёрный

На входе PNG с прозрачным фономКогда начинаю обрезать края, всё что не обрезано (на фото сложная фигура с кривыми краями) заливается чёрным...

538
MongoDB PHP. findAndModify обновить поле и вернуть обновленный документ

MongoDB PHP. findAndModify обновить поле и вернуть обновленный документ

Есть пример из учебника https://metanitcom/nosql/mongodb/3

334