Проблема:
Как вы, возможно, слышали, Android не предоставляет аудио API с низкой задержкой. Под звуком с низкой задержкой я подразумеваю то, что вы должны иметь возможность получать аудиосигналы от микрофона и воспроизводить звук без большого промежутка времени между ними (например, 5-7 мс)
Я пробовал старую java (с AudioRecord и AudioTrack) и «новый» OpenSL ES. Они ужасны и делают приложение непригодным для использования. Проблема была подробно описана здесь. Кстати, iOS API может вызывать задержку около 5-7 мс.
Ищу обходные пути:
Но я все равно пытаюсь сделать звук с низкой задержкой. Примерно так описывается этот ответ.
«Однако я смог добиться этого удовлетворительно, только написав собственный код, который выполнял внутреннее микширование и обращался к низкоуровневому API воспроизведения звука только для воспроизведения окончательного микшированного вывода. В высокоуровневые способы воспроизведения звуков в .Net Compact Framework: теоретически способны к полифонии, но на практике работают ужасно (много сбоев, заикания и искажений). »
Имеет ли это смысл для Android? Ответ обескураживает.
Итак, мой вопрос. Действительно ли нет способа добиться задержки звука в 10 мс с Android?
Если честно, я не жду решения в ближайшее время, но просто желаю, чтобы один великий ум получил ответ на эту проблему.