在我的应用程序中,当我开始音频通话/音频广播时,我已请求音频管理器进行音频聚焦。
audioManager.requestAudioFocus(null,audioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT| AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);
如果用户按 Home 并导航到另一个媒体应用程序,然后如果他们播放任何媒体,则该文件也会以低音量播放。接听电话的人也可以听到媒体声音文件。
当我的音频通话正在进行时,如果用户尝试播放任何音频资源,我如何告诉音频管理员仅将偏好设置给我的应用程序?
答案 0 :(得分:6)
您所描述的是Android上的默认行为(我相信)。话虽这么说,你应该能够做你所希望的。 Android SDK允许您将单个流类型设置为solo - 导致所有其他流被静音。为此,您应该使用AudioManager
setStreamSolo()
来电:
audioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, true);
您需要在播放开始时执行此操作,然后在播放结束或您的活动完成时将流独奏设置为false。如果可以,请告诉我。
可能有用的一些资源: