Запись в поток телефонных звонков IS возможна, но не на уровне приложения на обычном (не рутированном) телефоне.
Когда инициируется телефонный звонок, микрофон "обычно""(на самом деле зависит от конкретного телефона) направляется непосредственно к основной полосе частот, то есть вообще пропускает основной процессор.
Для исходящего звука: mic-> codec-> baseband Для входящего звука: baseband-> codec-> speaker
Если бы он всегда был маршрутизирован: mic-> codec-> mainprocessor-> codec-> baseband
Тогда поток будет "предположительно" доступен, если API-интерфейсы Android (платформы) будут поддерживать доступ к нему.
Причина, по которой я говорю, что это возможно, заключается в том, что звук (почти для всехСмартфоны) подключен через SlimBus Это позволяет динамически менять звуковые дорожки.Однако это делается в ядре с помощью драйвера кодека, который находится в ALSA .
Итак ... если бы вы были так мотивированы, вы могли бы получить исходный код для ядра Linux для телефона иИзмените драйвер кодека / ALSA, чтобы вы могли изменить то, что происходит при настройке звукового тракта вызова.
Конечно, тогда вы столкнетесь с задержкой с новым путем, нарушив настройку AT & T стандартов вызовов / задержек (чтобы аудитория помогла им написать ...), и чип основной полосы частот может отклонить ваш звук, поскольку он не своевременен.
Наконец, вам нужно изменить исходный код Android (фреймворки), чтобы расширить API для поддержки добавления звука в этот поток.(Вам нужно было бы сделать большие моды для медиасервера, в частности, для аудиофаллинга ...)
Это сложно, но есть ваш ответ.Ура,: -)