Intereting Posts
Удаление и обновление существующего события календаря Устаревший метод, но для замены метода требуется более высокий api Проблема завершения кода Eclipse CDT C / C ++ в проекте NDK / Java Печать с Android Ошибка сборки Gradle после BSOD (java.lang.NullPointerException (нет сообщения об ошибке) Был ли PreferenceFragment намеренно исключен из пакета совместимости? Фрагмент обновления ViewPager для салфетки Как изменить ширину штриха формы программно в Android? Изменение стиля переполнения панели действий Как я могу запустить прослушиватель экрана? Распознавание голоса в приложении для Android, которое всегда прослушивается ActionBarCompat – действие значка приложения (щелчок) не работает на устройствах 4.0 Как сравнить Time в java / android (данный ввод в строках)? Предотвратить CollapsingToolbarLayout свернуть, если не нужно Как остановить прокрутку родительского прокрутки, когда прокрутка прокрутки прокручивается в андроиде?

Android (Java) Аудиовход в реальном времени (микрофон и USB) и выход

Я хотел бы создать приложение для Android, чтобы принимать аудиоданные из двух микрофонов, смешивать звук с некоторыми из памяти и воспроизводить звук через наушники. Это необходимо сделать в режиме реального времени. Не могли бы вы сослаться на некоторые уроки или любые ссылки, для ввода, микширования и вывода в реальном времени с помощью Java eclipse?

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

Примечание. Один микрофон подключен к разъему 3,5 мм для наушников Android через сплиттер, а другой подключен через порт USB.

Благодаря!

Solutions Collecting From Web of "Android (Java) Аудиовход в реальном времени (микрофон и USB) и выход"

Есть два вопроса, которые я вижу здесь:

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/ имеет вкус для работы с самим звуком.