android 对焦声音,Android – 是否可以找出哪个应用有音频焦点?
我强烈怀疑有任何公共API可以告诉你哪个应用程序目前关注焦点.您可以通过请求来跟踪您的应用是否具有音频焦点,例如:AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);boolean requestGranted = AudioManager.AUDIOFOCUS_REQUEST_GRA
我强烈怀疑有任何公共API可以告诉你哪个应用程序目前关注焦点.
您可以通过请求来跟踪您的应用是否具有音频焦点,例如:
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
boolean requestGranted = AudioManager.AUDIOFOCUS_REQUEST_GRANTED == audioManager.requestAudioFocus(listener, AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN);
if(requestGranted){
// you now has the audio focus
}
您应该确保在请求和放弃焦点时维护一个侦听器实例,see my answer here以解决音频焦点的常见问题
以下是onAudioFocusChange()的示例:
@Override
public void onAudioFocusChange(int focus) {
switch (focus) {
case AudioManager.AUDIOFOCUS_LOSS:
Log.d(TAG,"AUDIOFOCUS_LOSS");
// stop and release your player
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT:
Log.d(TAG,"AUDIOFOCUS_LOSS_TRANSIENT");
// pause your player
break;
case AudioManager.AUDIOFOCUS_GAIN:
Log.d(TAG,"AUDIOFOCUS_GAIN");
// restore volume and resume player if needed
break;
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
Log.d(TAG,"AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK");
// Lower volume
break;
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)