use voice call stream to play connect sound

This commit is contained in:
Daniel Gultsch 2024-03-29 06:55:24 +01:00
parent 26dde5370a
commit 283f363088
No known key found for this signature in database
GPG key ID: F43D18AD2A0982C2
2 changed files with 21 additions and 7 deletions

View file

@ -466,7 +466,7 @@ public class AppRTCAudioManager {
final var toneGenerator =
new ToneGenerator(
AudioManager.STREAM_MUSIC,
CallIntegration.DEFAULT_VOLUME);
CallIntegration.DEFAULT_TONE_VOLUME);
toneGenerator.startTone(ToneGenerator.TONE_CDMA_DIAL_TONE_LITE, 750);
},
0,

View file

@ -2,6 +2,7 @@ package eu.siacs.conversations.services;
import android.content.Context;
import android.content.pm.PackageManager;
import android.media.AudioAttributes;
import android.media.AudioManager;
import android.media.ToneGenerator;
import android.net.Uri;
@ -35,7 +36,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
public class CallIntegration extends Connection {
public static final int DEFAULT_VOLUME = 80;
public static final int DEFAULT_TONE_VOLUME = 60;
private static final int DEFAULT_MEDIA_PLAYER_VOLUME = 90;
private final Context context;
@ -338,14 +340,25 @@ public class CallIntegration extends Connection {
}
private void playConnectedSound() {
final var mediaPlayer = MediaPlayer.create(context, R.raw.connected);
mediaPlayer.setVolume(DEFAULT_VOLUME / 100f, DEFAULT_VOLUME / 100f);
final var audioAttributes =
new AudioAttributes.Builder()
.setLegacyStreamType(AudioManager.STREAM_VOICE_CALL)
.build();
final var mediaPlayer =
MediaPlayer.create(
context,
R.raw.connected,
audioAttributes,
AudioManager.AUDIO_SESSION_ID_GENERATE);
mediaPlayer.setVolume(
DEFAULT_MEDIA_PLAYER_VOLUME / 100f, DEFAULT_MEDIA_PLAYER_VOLUME / 100f);
mediaPlayer.start();
}
public void success() {
Log.d(Config.LOGTAG, "CallIntegration.success()");
final var toneGenerator = new ToneGenerator(AudioManager.STREAM_MUSIC, DEFAULT_VOLUME);
final var toneGenerator =
new ToneGenerator(AudioManager.STREAM_VOICE_CALL, DEFAULT_TONE_VOLUME);
toneGenerator.startTone(ToneGenerator.TONE_CDMA_CALLDROP_LITE, 375);
this.destroyWithDelay(new DisconnectCause(DisconnectCause.LOCAL, null), 375);
}
@ -361,7 +374,8 @@ public class CallIntegration extends Connection {
public void error() {
Log.d(Config.LOGTAG, "CallIntegration.error()");
final var toneGenerator = new ToneGenerator(AudioManager.STREAM_MUSIC, DEFAULT_VOLUME);
final var toneGenerator =
new ToneGenerator(AudioManager.STREAM_VOICE_CALL, DEFAULT_TONE_VOLUME);
toneGenerator.startTone(ToneGenerator.TONE_CDMA_CALLDROP_LITE, 375);
this.destroyWithDelay(new DisconnectCause(DisconnectCause.ERROR, null), 375);
}
@ -379,7 +393,7 @@ public class CallIntegration extends Connection {
public void busy() {
Log.d(Config.LOGTAG, "CallIntegration.busy()");
final var toneGenerator = new ToneGenerator(AudioManager.STREAM_MUSIC, 80);
final var toneGenerator = new ToneGenerator(AudioManager.STREAM_VOICE_CALL, 80);
toneGenerator.startTone(ToneGenerator.TONE_CDMA_NETWORK_BUSY, 2500);
this.destroyWithDelay(new DisconnectCause(DisconnectCause.BUSY, null), 2500);
}