我的应用程序中有一个录音服务,可以连续记录声音。因此,它将始终占据AudioRecord。这意味着没有其他应用程序可以使用录音机,因为该服务已经占用了该录音机。有什么方法可以通知其他应用程序正在请求录音机(以便我可以释放它),以及何时该应用程序释放它(以便我可以将其分配回服务)?
最佳答案
也许一种可能的方法是创建一个BroadcastReceiver
,该代码从应用程序接收一个事件,该事件正在请求对麦克风源进行控制。 onReceive()
方法应与服务交互并释放资源。当另一个应用程序完成时,它可以还原该过程以再次启动该服务。如果您无法控制请求应用程序的行为,那么我认为这是一个稍有不同的问题。反正:
问题全在于知道何时请求资源,这可以通过AudioManager意向类型来完成。
一定要检查Managing audio focus,它以TRANSIENT方式谈论音频焦点丢失!
关于android - 当其他应用程序要求录制时,释放AudioRecord android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25682700/