Ответ 1
Есть два вопроса, которые я вижу здесь:
1) Аудиовход через USB.Аудиовход может быть выполнен с использованием android 3.2+ и libusb, но это непросто (вам нужно будет получить дескрипторы USB из libusb, проанализировать их самостоятельно и отправить правильные передачи управления на устройство и т.д.). Вы можете получить задержку ввода через USB в порядке 5-10 мс с некоторыми телефонами.
2) Аудиовыход в режиме реального времени. Это постоянная проблема в Android, и вы в значительной степени ограничены Galaxy Nexus на данный момент, если вы хотите приблизиться к реальному времени (используя выход Native Audio). Однако, если вы освоите USB, вы также сможете выводить с меньшей задержкой.
Я полагаю, что если вы столкнулись с трудностями в работе USB-накопителя, вы можете получить аудиоустройство USB со стереофоническим подключением. Если вы подключили один микрофон к каждому из входных каналов, то вы можете получить через USB-порт очень близко к вашей заявленной цели. Возможно, вам захочется попробовать приложения "USB Audio Tester" или "usbEffects", чтобы увидеть, что в настоящее время возможно.
В терминах кодирования микширования и вывода и т.д. вам, вероятно, понадобится один поток, считывающий каждый отдельный источник входного сигнала, и запись в очередь в небольших фрагментах (по 100-1000 выборок за раз). Затем добавьте отдельный поток, просматривающий очереди (очереди) и микширования, помещая вывод в другую очередь и, наконец, поток (возможно, в собственном коде, если не выполняет вывод через USB), чтобы прочитать смешанную очередь и сделать вывод.
Следующая ссылка http://code.google.com/p/loopmixer/ имеет вкус для работы с самим звуком.