Open ArcherEmiya05 opened 2 years ago
Any help? This is really became a blocker on our development.
Update: This somewhat works fine a little bit.
@Override
public void onAudioRouteChanged(int routing) {
Log.i("Agora Audio Route", "Changed");
switch (routing){
case Constants.AUDIO_ROUTE_SPEAKERPHONE:
rtcEngine().setDefaultAudioRoutetoSpeakerphone(true); // This however sometimes does not work when switching back and forth with Bluetooth earphone
rtcEngine().setEnableSpeakerphone(true); // This however sometimes does not work when switching back and forth with Bluetooth earphone
break;
case Constants.AUDIO_ROUTE_EARPIECE:
rtcEngine().setDefaultAudioRoutetoSpeakerphone(false);
rtcEngine().setEnableSpeakerphone(false);
break;
}
}
It seems we are also need to call these line explicitly before rtcEngine().enableVideo()
to work
rtcEngine().setDefaultAudioRoutetoSpeakerphone(true);
rtcEngine().setEnableSpeakerphone(true);
I am facing the same issue with agora_rtc_engine flutter version 5.3.1 and this has became a major blocker for our release. @ArcherEmiya05 are you still facing this issue ?
@ArcherEmiya05 You can upgrade the SDK version (i.e 4.x.x) and refer to the examples for audio router in the below link :
According to this documentation and this starting a video call automatically start with speaker phone and when an external audio device is removed like a Bluetooth earphone then the SDK sets the audio route as follows (in order of priority):
setEnableSpeakerphone
>setDefaultAudioRouteToSpeakerphone
> the default audio route but that doesn't really happen. After removing/disconnecting the Bluetooth earphone the audio moves to earpiece. This also happens in a Voice call even if you setsetDefaultAudioRouteToSpeakerphone
to true. We are using 3.7.0.We also tried to update the route during audio route change but
setEnableSpeakerphone
andsetDefaultAudioRoutetoSpeakerphone
does not work.