Подтвердить что ты не робот

Модификация аудиопотока в Android 4.0 ICS

Я работал над проектом, который в значительной степени выиграет от модификации потока вызовов. Это неоднократно говорилось/предполагалось недостижимым, так как большинство людей считает, что аппаратный цикл для звука во время разговора полностью отключен от основного MCU устройства.

Вопросы типа Поток аудио на телефонный звонок Android получили ответы о том, что невозможно получить доступ к аудио. Я согласен с тем, что это абсолютно невозможно в Android API, но совершенно неясно, полностью ли отключено аппаратное обеспечение.

Пользователь stackoverflow пользователя artylar сказал, что они смогли изменить "каркасный уровень" ОС Android, чтобы вставлять записанный звук в потоки вызовов, что было бы огромным шагом вперед (см. Воспроизведите аудиоклип на текущем вызове, комментарий к выбранному ответу). Предполагая, что успех artsylar действителен, определенно есть способ контролировать звук потока звонков, изменяя структуру (я предполагаю базовую базу телефонии в источнике Android).

В принципе, я полностью согласен с тем, что изменение или управление потоком вызовов невозможно из прикладного уровня. Тем не менее, я заинтересован в настройке ОС Android в рамках или Radio Interface Layer; artylar, похоже, имел успех, но в открытой литературе нет объяснений о том, как. Учитывая текущее состояние технологии Android, может ли кто-нибудь прояснить вышеизложенное, чтобы установить, можно ли управлять звуком вызова путем изменения основной ОС Android и хорошим путем для достижения этой цели?

Я считаю, что окончательное разъяснение по этому вопросу будет иметь большое значение для сообщества с открытым исходным кодом.

Спасибо!

4b9b3361

Ответ 1

Технически можно вводить звук в восходящую линию голосового вызова на некоторых платформах (например, Qualcomm MSM8960 и APQ8064). Поддержка существует на уровне оборудования и на уровне драйвера устройства. Но чтобы сделать эту функциональность доступной для обычных приложений, вам нужно создать пользовательский Android-ROM, в котором вы добавили все необходимые части пользовательского пространства как на уровне Java, так и на родные слои Android.

Итак, короткий ответ: нет, нет стандартного способа сделать это как разработчик приложения (неважно, используете ли вы SDK или NDK).
Если вы работаете с OEM-производителем или другими средствами, вы можете создавать и запускать свои собственные ПЗУ на Android, вы можете получить необходимую информацию, спросив своего поставщика платформы.

Ответ 2

Это очень сложно сделать, потому что это связано с обработкой Linux Kernal внутри ОС Android.

Поддержка API не только, но и проблема безопасности не разрешена.

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

Также потоковая передача аудио во время вызова может вызвать проблему конфиденциальности и безопасности среди пользователей смартфонов и поставщика услуг телефонии