Задержка аудиотрека

Я делаю приложение, которое будет способно осуществлять VOIP-связь по глобальной сети, используя AudioManager, в частности AudioTrack и AudioRecord, AudioRecord работает нормально, но у меня серьезные проблемы с задержкой для воспроизведения с AudioTrack. Это действительно высоко и неприемлемо. Я получаю фрагменты по 160 байт, и мои настройки звука: 16 бит, 8 кГц, 1 канал, поэтому в моем фрагменте из 160 байт у меня есть около 10 мс на фрагмент, у меня не будет значительной задержки.

Я знаю, что есть много людей с такой же проблемой, но приложения VOIP существуют, и, вероятно, проблема моя.

PD: Я программирую на Java, я протестировал его между Motorola Milestone (Droid, android 2.2) и другим телефоном Samsung (android 2.3), и у меня одинаковые проблемы на обоих игровых устройствах. Кроме того, я попытался воспроизвести свой звук на своем компьютере в режиме реального времени. Судя по всему, проблема в плеере (AudioTrack). Задержка в сети очень низкая (я в глобальной сети), и я получаю более 99% пакетов (около 16 Кбит/с).

Есть ли способ продолжить работу с программой VOIP и сделать ее пригодной для использования?

Действительно спасибо, помимо этой проблемы, я не нашел четкого решения, и оно наверняка существует. Это очень обычное и полезное, больше в коммуникационном устройстве.


person Diego    schedule 29.01.2013    source источник


Ответы (1)


Вы используете UDP вместо TCP? Если нет, рассмотрите Google для «примера Android UDP». Если да, извините за беспокойство.

person Herrbert74    schedule 04.02.2013