Поток телефонных звонков Android

Возможно ли в Android управлять данными телефонных звонков до их отправки? (Например, путем создания буфера, в котором записывается голос, затем отправляется после него) или он недоступен и всегда должен быть «живым»?

Простите, нет. Не существует поддерживаемого способа взаимодействия приложения Android с аудиопотоком от телефонного звонка.

В отличие от большинства других аудио, звук голосового вызова обычно обрабатывается полностью подсистемой модема. Таким образом, процессор модема и связанные с ним DSP (s) (если он есть) имеют доступ к звуку голосового вызова, но процессор (ы) приложения не используют или, по крайней мере, не изменяют его каким-либо образом.

Некоторые платформы позволяют процессору приложений считывать звук восходящей / нисходящей линии связи либо в сжатой форме (AMR), либо после декодирования (PCM). Но никакая платформа, используемая для устройств Android, о которых я знаю, не имеет (полной) поддержки для ввода данных в восходящую линию. Если они есть, это будет совершенно нестандартная функция.

Попробуйте сделать кодирование в C с JNI. Также я бы порекомендовал p_thread. Поскольку Android не контролирует такие потоки.