从服务录制音频而不阻止其他应用

时间:2016-07-14 13:16:51

标签: android voice-recording

我正在开发一个(实验性)应用程序,使用"高频率"来发送信标(通知/广告)。 (> 17k Hz)声波。应用程序/服务本身是功能性的,但我无法找到一种方法来连续录制麦克风输入,而不会阻止其他应用程序,或者当像摄像头这样的前台应用程序请求麦克风访问时,让Android服务被杀死。有没有人尝试过类似的东西?我开始认为使用当前的Android API可能无法实现这一点。

1 个答案:

答案 0 :(得分:0)

我认为不可能一直要求麦克风进行录音。相反,您可以考虑每隔5分钟或更短时间安排一个cron作业,以确保在另一个应用程序释放麦克风后立即抓住麦克风。

我使用alertmanager来安排这样的任务:

Intent newAlarmIntent = new Intent(mContext , AlertService.class);

PendingIntent pendingIntent = PendingIntent.getService(mContext, 1, newAlarmIntent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, [SOMEUNIXTIMESTAMP], pendingIntent);