Вопрос по audio, android, phone-call, native – Call Audio Stream Модификация в Android 4.0 ICS

27

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

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

Пользователь с эффектом переполнения стека 'artsylar' сказали, что им удалось изменить «каркасный слой»; ОС Android для ввода записанного звука в потоки вызовов, что было бы огромным шагом вперед (см.Воспроизвести аудиоклип на текущий звонок, Artsylar 's комментарий к выбранному ответу). Предполагая, что успех artsylar действителен, определенно существует способ управления звуком потока вызовов путем изменения структуры (я предполагаю базовую структуру телефонии в источнике Android).

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

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

Спасибо!

Вам удалось изменить поток вызовов? B770
Каков текущий статус вашего исследования? kagali-san

Ваш Ответ

2   ответа
11

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

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

5

потому что это относится к обработке Linux Kernal внутри ОС Android.

Не только отсутствует поддержка API, но и проблема безопасности не допускается.

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

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

@ kagali-san, если вы говорите, что это похоже на "mic - & gt;" процессор основной полосы частот, то как работают гарнитуры Bluetooth? Так что я не думаю, что вы правы, это больше похоже на "mic - & gt;" ОС - & gt; модулирующий & Quot ;.
@ Andr & # xE9; Аудио PCM в процессоре Bluetooth / RF не отображается в стеке HCI / приложения, потому что оно обрабатывается в микросхеме для обеспечения энергоэффективности и требований к низкой задержке. С прототипом bluetooth-модулей Bluegiga, таких как WT11x, можно обнаружить, что блок обработки PCM встроен в чип; нет необходимости в сложной обработке вне ее.
Ядро Linux? Нет. Аппаратная поддержка также очень важна, потому что в телефонах используется (с микропроцессором - основной полосой, микрофоном - ОС) двухцепочечная, а не (с микрофонной - OS -> базовой полосой, как и следовало ожидать).
@ Andr & # xE9; и я буду лично рад узнать, что существует способ захвата не отраженного аудиопотока и его изменения :(
@ Andr # xE9 ;, это немного документировано, но нет - передача по Bluetooth тоже работает при передаче внутри чипа. Вы можете погуглить несколько таблиц данных и блок-схем / диаграмм китайских MT6575, MT6589 и соответствующих радиочипов MT6627, MT6627 - я подозреваю, что канал MRGPCM между микросхемами является путем передачи звука. Также существует нечто, называемое DAIBT, которое китайцы используют в некоторых схемах для обозначения деталей обработки звука. Более того, некоторые телефоны не отражают даже звук микрофона, отправляемый в основной канал при вызове.

Похожие вопросы