我正在使用媒体播放器播放直播。我有它的工作。但是当我拨打电话并结束通话时,音频会自动停止并恢复。
但是当我收到来电时,音频会停止并且不会再次恢复。
我使用以下代码来实现。 Handling Android application pause on incoming call and resume after call end。 但这不起作用。以下是我的代码。我使用以下服务以及使用媒体播放器的同一活动。
private void callsettings() {
PhoneStateListener phoneStateListener = new PhoneStateListener(){
@Override
public void onCallStateChanged(int state, String incomingNumber) {
// TODO Auto-generated method stub
super.onCallStateChanged(state, incomingNumber);
if (state == TelephonyManager.CALL_STATE_RINGING) {
mute();
} else if (state == TelephonyManager.CALL_STATE_IDLE) {
Unmute();
} else if (state == TelephonyManager.CALL_STATE_OFFHOOK) {
mute();
}
}
};
TelephonyManager mgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
if (mgr != null) {
mgr.listen(phoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
}
}
private void mute() {
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setStreamMute(AudioManager.STREAM_MUSIC, true);
//am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
}
private void Unmute() {
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
//am.setStreamVolume(AudioManager.STREAM_MUSIC, 5, 0);
am.setStreamMute(AudioManager.STREAM_MUSIC, false);
}
请帮帮我,idk这个问题的原因是什么。预先感谢。
答案 0 :(得分:1)
可能你可以解决这个问题。
您必须使用Audio Manager进行聚焦:requestAudioFocus,其流类型为VOICE Call。通话结束后,您将获得音频服务焦点,然后您可以恢复。
看看这里:http://developer.android.com/training/managing-audio/audio-focus.html