Микрофон в Android как читать его с нескольких потоков
https://developer.android.com/reference/android/media/AudioRecord
Хочу немного, читать микрофон AudioRecord.read и визуализировать его в виде Wave. Один поток читает и записывает в сеть или на диск другой...тоже его читает и... приложение вылетает. Не понятно из-за чего, каких внятных ошибок нет в логах, какие андроивские потроха сыпятся на уровне ядра.
Там сам вызов блокирующий, но есть параметр readMode=READ_BLOCKING, READ_NON_BLOCKING. Один тред читает с блокировкой - другой - пробовал и так и сяк, все равно вылетает. Если читает один только тред, то работает нормально
В общем нормально ли я вообще затеял это все или нужно один читальщик? Но дело в том, что буферы разные, для визуализации нужно побольше прочитать, а для записи там буфер мелкий совсем.
Один тред создается через new Thread, а второй - это тред UI. Но я пробовал в треде UI создавать новый тред, но все равно что-то не идет.Вообще конечно по логике если разобраться, то так нельзя. Звук же будет прерываться, если например кусочек прочитаешь, то в файле уже этого кусочка не будет, будет пердеть, заикаться. Хотя нет. Многие приложения ведь используют один микрофон. Или нет?
Не знаю как быть, подскажите вообще не понимаю