Можете получить доступ к микрофону, когда другое приложение использует его в Android

Я использую код из следующего URL, чтобы получить звуковые данные от микрофона с AudioRecord: http://www.dreamincode.net/forums/topic/303235-visualizing-sound-from-the-microphone/

проблема, которую я вижу, заключается в том, что если другое приложение также использует микрофон, я получаю ошибку (статус -3) от AudioRecord. Все работает так, как ожидалось, если я убью другое приложение, которое использует микрофон. Есть ли элегантное решение, позволяющее моему приложению доступ к микрофону, даже если другое приложение уже использует его?

спасибо.

2 ответов


к сожалению, только одно приложение за раз может получить доступ к микрофону (как и камеры).

кроме того, нет стандартного способа сообщить другому приложению, что вы хотите получить доступ к микрофону (чтобы они освободили ресурсы и позволили вам получить к нему доступ). Однако вы можете отправить трансляцию всем другим приложениям ("запрос микрофона"), но другие приложения должны будут реализовать эту функцию (и очень немногие или нулевые разработчики сделают это).

Я бы порекомендовал вам!--1-->просто сообщите пользователю что микрофон в настоящее время недоступен, потому что вы ничего не можете сделать.


Если вы используете функцию "OK Google"с возможностью доступа к ней с любой страницы, попробуйте отключить ее (бит"любая страница" из меню экрана приложения Google>настройки>голос> "OK Google DETECTION" >с любого экрана=OFF): он захватывает микрофон или может это сделать.