@@ -50,7 +50,7 @@ public class VoiceEffects extends BaseFragment implements View.OnClickListener,
5050 private RtcEngine engine ;
5151 private int myUid ;
5252 private boolean joined = false ;
53- private Spinner preset , beautifier , pitch1 , pitch2 ;
53+ private Spinner preset , beautifier , pitch1 , pitch2 , conversion ;
5454 private PopupWindow popupWindow ;
5555 private Switch effectOption ;
5656 private SeekBar voiceCircle ;
@@ -79,8 +79,10 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
7979 view .findViewById (R .id .btn_join ).setOnClickListener (this );
8080 preset = view .findViewById (R .id .audio_preset_spinner );
8181 beautifier = view .findViewById (R .id .voice_beautifier_spinner );
82+ conversion = view .findViewById (R .id .voice_conversion_spinner );
8283 preset .setOnItemSelectedListener (this );
8384 beautifier .setOnItemSelectedListener (this );
85+ conversion .setOnItemSelectedListener (this );
8486 effectOptions = view .findViewById (R .id .btn_effect_options );
8587 effectOptions .setOnClickListener (this );
8688 LayoutInflater inflater = (LayoutInflater ) getContext ().getSystemService (Context .LAYOUT_INFLATER_SERVICE );
@@ -99,6 +101,7 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
99101 effectOptions .setEnabled (false );
100102 preset .setEnabled (false );
101103 beautifier .setEnabled (false );
104+ conversion .setEnabled (false );
102105 }
103106
104107 @ Override
@@ -173,6 +176,7 @@ public void onClick(View v)
173176 joined = false ;
174177 preset .setEnabled (false );
175178 beautifier .setEnabled (false );
179+ conversion .setEnabled (false );
176180 effectOptions .setEnabled (false );
177181 /**After joining a channel, the user must call the leaveChannel method to end the
178182 * call before joining another channel. This method returns 0 if the user leaves the
@@ -358,6 +362,7 @@ public void onJoinChannelSuccess(String channel, int uid, int elapsed)
358362 handler .post (() -> {
359363 join .setEnabled (true );
360364 join .setText (getString (R .string .leave ));
365+ conversion .setEnabled (true );
361366 preset .setEnabled (true );
362367 beautifier .setEnabled (true );
363368 effectOptions .setEnabled (true );
@@ -443,6 +448,26 @@ else if(parent.getId() == R.id.voice_beautifier_spinner){
443448 String item = beautifier .getSelectedItem ().toString ();
444449 engine .setVoiceBeautifierPreset (getVoiceBeautifierValue (item ));
445450 }
451+ else if (parent .getId () == R .id .voice_conversion_spinner ){
452+ String item = conversion .getSelectedItem ().toString ();
453+ engine .setVoiceConversionPreset (getVoiceConversionValue (item ));
454+ }
455+ }
456+
457+ private int getVoiceConversionValue (String label ) {
458+ switch (label ) {
459+ case "VOICE_CHANGER_NEUTRAL" :
460+ return VOICE_CHANGER_NEUTRAL ;
461+ case "VOICE_CHANGER_SWEET" :
462+ return VOICE_CHANGER_SWEET ;
463+ case "VOICE_CHANGER_SOLID" :
464+ return VOICE_CHANGER_SOLID ;
465+ case "VOICE_CHANGER_BASS" :
466+ return VOICE_CHANGER_BASS ;
467+ case "VOICE_CONVERSION_OFF" :
468+ default :
469+ return VOICE_CONVERSION_OFF ;
470+ }
446471 }
447472
448473 private int getVoiceBeautifierValue (String label ) {
0 commit comments