Russian Qt Forum
Октябрь 01, 2024, 14:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QAudioInput QTcpSocket  (Прочитано 3981 раз)
kip_one
Гость
« : Апрель 03, 2013, 22:22 »

Идея в том что на одном клиенте захватываем звук на другом воспроизводим. Захватить получается, потом передаю данные в QByteArray и на другой клиент через сервер. Проблема в том что с другой стороны звук не воспроизводит. Использую QTcpSocket,QTcpServer. Не знаю каким интервалом передавать QByteArray и вообще почему с другой стороны не шпилит Улыбающийся
По желанию код могу предоставить.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1 : Апрель 04, 2013, 11:42 »

Идея в том что на одном клиенте захватываем звук на другом воспроизводим. Захватить получается, потом передаю данные в QByteArray и на другой клиент через сервер. Проблема в том что с другой стороны звук не воспроизводит. Использую QTcpSocket,QTcpServer. Не знаю каким интервалом передавать QByteArray и вообще почему с другой стороны не шпилит Улыбающийся
Через QTcp* не получиться звук в реальном времени передавать, присмотрись к каким либо реализациям RTP протокола.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
lex_newton
Гость
« Ответ #2 : Апрель 04, 2013, 12:02 »

Возможно, стоит присмотреться к JACK Audio Connection Kit, он справляется с этой задачей на ура (http://ru.wikipedia.org/wiki/JACK_Audio_Connection_Kit). Если нужно именно через QTcpSocket (а протоколы реального времени,  типа RTP, не подходят) то нужно более детально рассматривать задачу. К примеру, тот же rdp перед передачей аудио сжимает его.
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #3 : Апрель 04, 2013, 16:39 »

Через QTcp* не получиться звук в реальном времени передавать.
Да ладно вам, в условиях когда нам тут не оговорено, что за звук, да по какому каналу, да что тут под реальным временем понимается, говорить, что это невозможно реализовать поверх QTcp бессмысленно.
Если речь идёт о банальном аналоге скайпа в пределах одной локалки, то никаких проблем с этим нет. 8 кГц 8-битные отсчёты безо всякого труда пролезут через Ethernet и без RTP. И никакого сжатия не нужно.
Автор - а без сетки (из файла) звук воспроизводить получается?
Записан
kip_one
Гость
« Ответ #4 : Апрель 04, 2013, 21:07 »

Из файла работает. Уже проверял. И да, я пытаюсь сделать аналог скайпа.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #5 : Апрель 05, 2013, 07:45 »

Через QTcp* не получиться звук в реальном времени передавать.
Да ладно вам, в условиях когда нам тут не оговорено, что за звук, да по какому каналу, да что тут под реальным временем понимается, говорить, что это невозможно реализовать поверх QTcp бессмысленно.
Если речь идёт о банальном аналоге скайпа в пределах одной локалки, то никаких проблем с этим нет. 8 кГц 8-битные отсчёты безо всякого труда пролезут через Ethernet и без RTP. И никакого сжатия не нужно.
Через Ethernet по TCP а не по UPD? Хотя, кончено, учитывая величину задержки в пределах одной локалки, возможно и по TCP, а вот если чуть дальше - то пиши-пропало.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
kip_one
Гость
« Ответ #6 : Апрель 05, 2013, 19:41 »

Общение вне локалки, я так понял нужно смотреть в сторону RTP протокола
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.069 секунд. Запросов: 22.