1. Привет Гость, в нашем магазине проходит акция! Смотри эту тему.
    Так же цена на VIP снижена!

Голосовой чат в C#

Тема в разделе "Полезные Программы для Читера", создана пользователем 9_лёха_1, 24 мар 2013.

  1. Оффлайн

    9_лёха_1

    На форуме с:
    24 дек 2012
    Сообщения:
    345
    Симпатии:
    473
    Баллы:
    79
    Пол:
    Мужской
    [​IMG]
    В статье описывается пример элементарного голосового чата. Звук берётся с микрофона при помощи DirectSound и передаётся UDP-пакетами. Перед тем как передать, данные сжимаются войскодером G711. Протокол общения между приёмником и передатчиком выглядит следующим образом:
    | Приглашение |
    | --------------------------------> |
    | OK |
    | |
    | поток Аудио |
    | |
    A B

    Структура, содержаща управляющие команды:

    enum Command
    {
    Invite, //Сделать вызов.

    Bye, //Закончить вызов.

    Busy, //Пользователь занят.

    OK, //Ответ на приглашение. Значение OK указывает,

    //что вызов принят.

    Null, //пустой пакет.

    }

    Когда пользователь делает вызов другого собеседника, приложение посылает команду Invite и ждёт ответа OK. Как только получен ответ OK, начинается приём/передача аудио захваченного с микрофона. Если противоположная сторона отвергает вызов, то отправляется ответ Busy. Для прекращения чата достаточно отправить сообщение Bye. Данный пример приложения ассинхронно принимает/передаёт команды на 1450 порту и синхронно принимает/передаёт звуковые данные 1550 порту. Другими словами, приложение ожидает данных на двух портах: один для управляющих сообщений, а другой для аудио-потока. При запуске, автоматически запускается прослушивание командных сообщений на 1450 порту:

    //использование UDP сокетов

    clientSocket = new Socket(AddressFamily.InterNetwork,
    SocketType.Dgram,
    ProtocolType.Udp);
    EndPoint ourEP = new IPEndPoint(IPAddress.Any, 1450);

    //Ассинхронное прослушивание управляющих сообщений (Invite, Bye и т.д.) на 1450 порту

    clientSocket.Bind(ourEP);

    //Получение данных разрешается с любого IP-адреса.

    EndPoint remoteEP = (EndPoint)(new IPEndPoint(IPAddress.Any, 0));
    byteData = new byte[1024];

    //Ассинхронный приём данных.

    clientSocket.BeginReceiveFrom(byteData,
    0, byteData.Length,
    SocketFlags.None,
    ref remoteEP,
    new AsyncCallback(OnReceive),
    null);

    После получения сообщения, происходит его обработка. За это отвечает обработчик OnReceive (см. исходник). Для приёма/передачи звука с микрофона запускаются два потока, чтобы можно было синхронно посылать/принимать данные и при этом не блокировать пользовательский интерфейс:

    private void InitializeCall()
    {
    try
    {
    //Запускаем прослушивание на 1550 порту.

    udpClient = new UdpClient(1550);
    Thread senderThread = new Thread(new ThreadStart(Send));
    Thread receiverThread = new Thread(new ThreadStart(Receive));
    bIsCallActive = true;

    //Запускаем принимающий и передающий потоки.

    receiverThread.Start();
    senderThread.Start();
    btnCall.Enabled = false;
    btnEndCall.Enabled = true;
    }
    catch (Exception ex)
    {
    MessageBox.Show(ex.Message,
    \"VoiceChat-InitializeCall ()\", MessageBoxButtons.OK,
    MessageBoxIcon.Error);
    }
    }

    Методы Send и Receive можно посмотреть в прилагаемом ниже исходнике; разобраться с ними не составит труда.

    ВОТ ССЫЛКА НА СКАЧИВАНИЕ ПОЛЕЗНОЙ ПРОГРАММЫ---

    Ссылки могут видеть только зарегестрированные пользователи. Для того что-бы скачать читы зарегистрируйтесь на форуме

     
    oleg_bt123bt, Чина1 и oleg123weas нравится это.
  2.  
  3. Оффлайн

    oleg123weas ст. рядовой

    На форуме с:
    23 мар 2013
    Сообщения:
    12
    Симпатии:
    7
    Баллы:
    3
    Пол:
    Мужской
    1 нах)))спс какрас я эту программу ищу и вдруг ты
     
    oleg_bt123bt нравится это.
  4. Оффлайн

    oleg_bt123bt

    На форуме с:
    8 янв 2013
    Сообщения:
    84
    Симпатии:
    137
    Баллы:
    39
    Пол:
    Женский
    вау +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
     
  5. Оффлайн

    oleg_bt123bt

    На форуме с:
    8 янв 2013
    Сообщения:
    84
    Симпатии:
    137
    Баллы:
    39
    Пол:
    Женский
     
  6. Оффлайн

    oleg_bt123bt

    На форуме с:
    8 янв 2013
    Сообщения:
    84
    Симпатии:
    137
    Баллы:
    39
    Пол:
    Женский
    download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+download+
     
  7. Оффлайн

    romka1 рядовой

    На форуме с:
    22 мар 2013
    Сообщения:
    6
    Симпатии:
    0
    Баллы:
    1
    винлокер не качать!!! ВТ подленный!!
     
  8. Оффлайн

    вапролв

    На форуме с:
    21 ноя 2012
    Сообщения:
    47
    Симпатии:
    3
    Баллы:
    3
    Пол:
    Мужской
    хватит флудить
     
  9. Оффлайн

    Саня880980 ваш Сынок занимается хип-хапом.

    На форуме с:
    10 янв 2013
    Сообщения:
    173
    Симпатии:
    69
    Баллы:
    28
    Пол:
    Мужской
    ++
     

Поделиться этой страницей

Уважаемый пользователь!

Мы обнаружили, что вы блокируете показ рекламы на нашем сайте.

Просим внести его в список исключения или отключить AdBlock.

Наши материалы предоставляются БЕСПЛАТНО и единственным доходом является реклама.

Спасибо за понимание!