Страницы

Поиск по вопросам

среда, 15 апреля 2020 г.

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

#c_sharp #c #delphi #cpp

                    
Нужно передать звук с микрофона по сети на другой комп и воспроизвести там. Я знаю,
что мне нужна 2 программы. Сервер и Клиент. А еще я знаю, что я дожна использовать
RTP. Я справилась с задачей c помощью FTP.  Думала, что и с этой справлюсь, но что-то
не получается. Прошу помощь. Спасибо всем заранее.    


Ответы

Ответ 1



По хорошему суть такова: берем поток с микрофона, режем на кусочки по 0.1-0.5 сек (смотря насколько вам нужен реалтайм, чем выше частота, тем больше нагрузка). Кодируем сей кусочек в mp3 и шлем по уже созданному сокет-соединению. Там, соотв-но, дешифруем и воспроизводим. Собственно, если вас не сильно заботит траффик, можно решать в лоб(без перекодировки, в PCM MONO). В который раз тут пиарю либу, уж простите) Чего делаем: инициализируемся, определяем девайс микрофона. Выставляем потоку глубину/частоту, чтобы ваше соединение вытянуло (ширина потока будет = (глубинаbps / 8) * 1 канал(моно) * частотадискретизации байт/сек). Далее: открываем соединение с клиентом и раз в 0.1-0.5 сек берем с потока байты и шлем в сокет. С такой же частотой на клиенте считываем данные с сервера и напрямую воспроизводим. Отправку/прием лучше реализовать в отдельном потоке. В архиве для дельфей (скорее всего не только, но не проверял) куча примеров, которые можно расковырять. В т.ч. был пример с инет-радио. В том же архиве хелп по всем функциям, наложить их на алгоритм выше не должно быть проблемой.

Комментариев нет:

Отправить комментарий