2013-11-11 2 views
2

Я пытаюсь создать приложение, использующее потоковое аудио через TCP-соединение, используя Delphi 7 и Indy9.Delphi 7, indy9 tcp audio streaming

Более ясно, как я могу передавать данные с клиентского микрофона и отправлять его (TCP или HTTP Server)? Рассмотрим реальное время.

Спасибо

+0

Как вы записью потока? Какой формат? –

+0

Im using StockAudioRecorder, Wave Audio – bestyasser

+2

TCP - это не лучший выбор для потоковой передачи в реальном времени. Большинство потоковых протоколов основаны на UDP. Ранние версии Skype были написаны в Delphi и, например, использовались компоненты Indy UDP. –

ответ

2

Я никогда не делал этого, но я думаю, что вы можете начать с основ ...

  • Установите частоту кадров для использования, 8000Гц является хорошим выбором

  • Выбор размера порции, чтобы захватить с микрофона (1024, 2048, 4096,
    и т.д.)

  • капитан Юр звук с микрофона в коротком Int или float32 (RAW Audio)

  • Поместите этот кусок в одном сокете буфера предпочтительно UDP, и отправить
    другой стороны через соединение UDP

  • Если сделать петлю с этот процесс вы отправки аудиоданных
    гнездо

  • Теперь другая сторона просто нужно получить данные от каждого UDP соединения
    и играть

этим шагов является основным потоковым аудио :-)

В будущем вы можете захотеть работать с очередями, но это другая история