'Android pause and resume ringtone playback
In android, is there any way to pause ringtone playback, play audio and then resume ringtone playback.
Using PhoneStateListener Could stop ringtone using below code
TelephonyManager mgr = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
if(mgr.getCallState()==TelephonyManager.CALL_STATE_RINGING){
RingtoneManager.getRingtone(context, RingtoneManager.getActualDefaultRingtoneURI(context,RingtoneManager.TYPE_RINGTONE)).stop();
}
But could not gain audio focus to play audio, audio focus request fails for below code
AudioAttributes audioAttributes = new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_ALARM)
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
.build();
focusRequest = new AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN_TRANSIENT)
.setAudioAttributes(audioAttributes)
.setOnAudioFocusChangeListener(this)
.build();
if(audioManager.requestAudioFocus(focusRequest) == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
System.out.println("Audio Focus Granted");
mediaPlayer.start();
}else{
System.out.println("Audio Focus not Granted");
}
Solution 1:[1]
What‘s the error message? What API Level are you coding for? Maybe you‘re not using the right API Level?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | GabeRAMturn |