1

在我的应用程序中,当我开始我的音频通话/音频广播时,我已请求音频管理器获得音频焦点。

audioManager.requestAudioFocus(null,audioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT| AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

如果用户按下Home并导航到另一个媒体应用程序,然后如果他们播放任何媒体,该文件也会以低音量播放。接听电话的人也可以听到该媒体声音文件。

当我的音频通话正在进行时,如果用户尝试播放任何音频资源,我如何告诉音频管理器仅将偏好设置给我的应用程序?

4

1 回答 1

6

您所描述的是Android上的默认行为(我相信)。话虽如此,您应该能够做您希望做的事情。Android SDK 允许您将单个流类型设置为独奏 - 导致所有其他流被静音。为此,您应该使用以下AudioManager setStreamSolo()调用:

audioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, true);

您需要在播放开始时执行此操作,然后在播放结束或您的活动结束时将流独奏设置为 false。让我知道这是否有用。

一些可能有用的资源:

于 2012-07-12T17:39:40.427 回答