Как воспроизвести аудиопоток через UDP?

Я пишу приложение для Windows, оно получает аудиоданные из приложения Android, я использую UDP для передачи данных по локальной сети и использую RtAudio для воспроизведения аудиопотока.

Каждая полезная нагрузка пакета UDP является массивом аудиосэмплов в формате 32k / 16bit / pcm.

Когда размер данных составляет 576 байтов, другими словами 288 сэмплов, все в порядке, мы слышим чистый голос.

Но при размере данных в 192 байта, 96 сэмплов, другими словами, звук не ясен.

У кого-нибудь есть проблема?

0

Решение

Это уравновешивающее действие для определения оптимального размера каждого буферного пакета … слишком большого, и вы постепенно отходите от отклика в реальном времени, но слишком маленького, и код тратит пропорционально слишком много времени на согласование типовой схемы простой передачи данных. Похоже, что вы достигли этой нижней границы, когда, как вы говорите, начинает действовать 192 байта.

Это действительно независимо от транспортного механизма. Также имейте в виду, что длительность настенных часов, потребляемых при прослушивании нескольких сотен байтов, крошечная (обычно 42 100 сэмплов в секунду для монофонического звука качества CD), поэтому вы не потеряете много в режиме реального времени, чтобы получить больше, чем эта нижняя граница ударил.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]