Skip to content

Commit be5f3fb

Browse files
Audio route to speaker for Android platform
1 parent 698f795 commit be5f3fb

File tree

3 files changed

+20
-0
lines changed

3 files changed

+20
-0
lines changed

android/src/main/java/io/wazo/callkeep/RNCallKeepModule.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,19 @@ public void setMutedCall(String uuid, boolean shouldMute) {
341341
conn.onCallAudioStateChanged(newAudioState);
342342
}
343343

344+
@ReactMethod
345+
public void toggleAudioRouteSpeaker(String uuid, boolean useSpeaker) {
346+
VoiceConnection conn = (VoiceConnection) VoiceConnectionService.getConnection(uuid);
347+
if (conn == null) {
348+
return;
349+
}
350+
if(useSpeaker){
351+
conn.setAudioRoute(CallAudioState.ROUTE_SPEAKER);
352+
}else{
353+
conn.setAudioRoute(CallAudioState.ROUTE_EARPIECE);
354+
}
355+
}
356+
344357
@ReactMethod
345358
public void sendDTMF(String uuid, String key) {
346359
Connection conn = VoiceConnectionService.getConnection(uuid);

index.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,12 @@ declare module 'react-native-callkeep' {
115115
* @description setMutedCall method is available only on iOS.
116116
*/
117117
static setMutedCall(uuid: string, muted: boolean): void
118+
/**
119+
* @description toggleAudioRouteSpeaker method is available only on Android.
120+
*/
121+
static toggleAudioRouteSpeaker(uuid: string, useSpeaker: boolean) {
118122

123+
}
119124
static setOnHold(uuid: string, held: boolean): void
120125

121126
/**

index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ class RNCallKeep {
149149

150150
sendDTMF = (uuid, key) => RNCallKeepModule.sendDTMF(uuid, key);
151151

152+
toggleAudioRouteSpeaker = (uuid, useSpeaker) => RNCallKeepModule.toggleAudioRouteSpeaker(uuid, useSpeaker);
153+
152154
checkIfBusy = () =>
153155
isIOS
154156
? RNCallKeepModule.checkIfBusy()

0 commit comments

Comments
 (0)