Как воспроизвести аудиопоток по UDP? - PullRequest
0 голосов
/ 04 декабря 2018

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

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

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

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

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

1 Ответ

0 голосов
/ 04 декабря 2018

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

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

...