Можно ли совместно использовать поток аудиовхода (микрофона) в Android? - PullRequest
4 голосов
/ 18 марта 2012

Я пишу приложение, которое работает в качестве фоновой службы записи и анализа звука, записанного с микрофона. Когда мое приложение работает, я не могу использовать другие приложения, использующие микрофон (например, телефон, запись голоса и т. Д.).

Мой вопрос - есть ли способ поделиться потоком микрофона в Android? Может быть, с помощью NDK? Если нет, возможно ли получить указание (например, BroadcastIntent), что для другого приложения требуется микрофон?

Ответы [ 3 ]

5 голосов
/ 18 марта 2012

Простой ответ будет "НЕТ", это просто потому, что метод записи звука синхронизирован.Таким образом, два или более ресурса не могут попытаться сделать это одновременно.Это может иногда привести к закрытию приложения.

1 голос
/ 04 октября 2014

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

По существу:

  1. Установить таймер для отключения от микрофона каждые несколько минут
    Надеюсь, если другое приложение пытается собрать данные микрофона, он может
    при одновременной блокировке других приложений от сбора
  2. Попытаться повторно подключиться и проверить данные
    , если в другом приложении есть микрофон и он блокирует данные, вы можете
    попробоватьдля повторного подключения в будущем
0 голосов
/ 06 июля 2017

Запись аудио / видео, в то время как другие приложения работают , возможна .Я сделал это в Sony Xperia Z1, непрерывно записывал видео и звонки с помощью загруженного устройства записи экрана.Тем не менее, я считаю, что это был некоторый сбой, так как он перестал иметь возможность записи через некоторое время (около 2 месяцев) и начал показывать ошибку, которая говорит, что микрофон используется другим приложением ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...