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

Поток аудио на телефонный звонок Android

Я пытаюсь отправить аудиопоток по телефону на Android.

Например, чтобы создать приложение, которое будет воспроизводить какую-либо пользовательскую музыку в режиме ожидания, или ответить на вызов и воспроизвести запись/аудиофайл. Я знаю, что возможно, что приложение автоматически ответит на вызов, но может ли он послать звук вызывающему абоненту?

Если это возможно, сообщите мне, какие классы/функции справляются с этим.

4b9b3361

Ответ 1

Запись в поток телефонных звонков возможна, но не с уровня приложения на складе (без корневого).

Когда инициируется телефонный звонок, микрофон "обычно" (действительно зависит от конкретного телефона) направляется непосредственно к основной полосе, то есть пропускает основной процессор в целом.

Для исходящего аудио: mic- > codec- > baseband Для входящего звука: baseband- > codec- > speaker

Если он всегда маршрутизировался: mic- > codec- > mainprocessor- > codec- > baseband

Тогда поток будет "предположительно" доступен, если поддерживаются API-интерфейсы Android (фреймворки).

Причина, по которой я говорю, это возможно, потому что звук (почти для всех смартфонов сейчас) подключается через SlimBus Это позволяет динамически изменять пути аудио. Однако это делается в ядре с помощью драйвера кодека, живущего в ALSA.

Итак, были ли вы так мотивированы, вы могли бы получить источник для ядра Linux для телефона и изменить драйвер кодека /ALSA, чтобы вы могли изменить то, что происходит, когда настроен путь аудио вызова.

Конечно, вы понесли бы латентность с новым путем, нарушив стандарты AT & T (чтобы Аудитория помогла им написать...), и чип базовой полосы может отклонить ваш звук, поскольку он не является своевременным.

Наконец, вам нужно будет изменить исходный код Android (фреймворки), чтобы увеличить API для поддержки ввода звука в этот поток. (Вам нужно будет сделать большие моды для mediaserver, в частности, аудиофрагментатора...)

Это сложно, но есть ваш ответ. Приветствия: -)

Ответ 2

Для захвата удаленного аудио субмикса требуется разрешение CAPTURE_AUDIO_OUTPUT. Это разрешение зарезервировано для использования системными компонентами и недоступно для сторонних приложений: (

Ответ 3

Получение аудиоданных очень возможно, но для записи звука в канал восходящего канала это невозможно

Ответ 4

Это должно быть возможно, потому что телефоны позволят Bluetooth отправлять аудио как микрофон.

Поскольку мне нужно решить эту проблему, у меня есть одна идея - по сути, послать сигнал bluetooth себе, "скрытым" как вход микрофона.

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

Ответ 5

Запись в поток телефонных звонков невозможна, извините.