Skip to content

Commit a0bfd6e

Browse files
author
zhaoyongqiang
committed
Merge branch 'dev/4.0.0-GA' of github.com:AgoraIO/API-Examples into dev/4.0.0-GA
2 parents 5871bd1 + cfa118c commit a0bfd6e

3 files changed

Lines changed: 32 additions & 150 deletions

File tree

Android/APIExample/app/build.gradle

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,27 @@ android {
3939
dependencies {
4040
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
4141

42-
def agora_sdk_version = "4.0.0.test3"
43-
// case 1: full lib
44-
// implementation "io.agora.rtc:agora-special-full:${agora_sdk_version}"
45-
// case 2: partial lib
46-
implementation "io.agora.rtc:full-rtc-basic-special:${agora_sdk_version}"
47-
implementation "io.agora.rtc:ains:${agora_sdk_version}"
48-
implementation "io.agora.rtc:full-super-resolution:${agora_sdk_version}"
49-
implementation "io.agora.rtc:full-virtual-background:${agora_sdk_version}"
50-
implementation "io.agora.rtc:full-content-inspect:${agora_sdk_version}"
51-
implementation "io.agora.rtc:full-screen-sharing:${agora_sdk_version}"
52-
implementation "io.agora.rtc:spatial-audio:${agora_sdk_version}"
53-
implementation "io.agora.rtc:audio-beauty:${agora_sdk_version}"
54-
implementation "io.agora.rtc:screen-capture:${agora_sdk_version}"
55-
implementation "io.agora.rtc:clear-vision:${agora_sdk_version}"
56-
implementation "io.agora.rtc:pvc:${agora_sdk_version}"
57-
42+
def agora_sdk_version = "4.0.0-rc.1"
43+
// case 1: full single lib
44+
implementation "io.agora.rtc:full-sdk:${agora_sdk_version}"
45+
// case 2: full partial libs
46+
// implementation "io.agora.rtc:full-rtc-basic:${agora_sdk_version}"
47+
// implementation "io.agora.rtc:ains:${agora_sdk_version}"
48+
// implementation "io.agora.rtc:full-content-inspect:${agora_sdk_version}"
49+
// implementation "io.agora.rtc:full-virtual-background:${agora_sdk_version}"
50+
// implementation "io.agora.rtc:full-super-resolution:${agora_sdk_version}"
51+
// implementation "io.agora.rtc:spatial-audio:${agora_sdk_version}"
52+
// implementation "io.agora.rtc:audio-beauty:${agora_sdk_version}"
53+
// implementation "io.agora.rtc:clear-vision:${agora_sdk_version}"
54+
// implementation "io.agora.rtc:pvc:${agora_sdk_version}"
55+
// implementation "io.agora.rtc:screen-capture:${agora_sdk_version}"
56+
// implementation "io.agora.rtc:full-screen-sharing:${agora_sdk_version}"
57+
// case 3: full single lib with voice only
58+
// implementation "io.agora.rtc:voice-sdk:${agora_sdk_version}"
59+
// case 4: full partial libs with voice only
60+
// implementation "io.agora.rtc:voice-rtc-basic:${agora_sdk_version}"
61+
// implementation "io.agora.rtc:spatial-audio:${agora_sdk_version}"
62+
// implementation "io.agora.rtc:audio-beauty:${agora_sdk_version}"
5863

5964
implementation 'androidx.appcompat:appcompat:1.1.0'
6065
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

Android/APIExample/app/src/main/java/io/agora/api/example/examples/advanced/VideoProcessExtension.java

Lines changed: 8 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@
2626
import com.yanzhenjie.permission.AndPermission;
2727
import com.yanzhenjie.permission.runtime.Permission;
2828

29-
import org.json.JSONException;
30-
import org.json.JSONObject;
31-
3229
import io.agora.api.example.MainApplication;
3330
import io.agora.api.example.R;
3431
import io.agora.api.example.annotation.Example;
@@ -64,7 +61,7 @@ public class VideoProcessExtension extends BaseFragment implements View.OnClickL
6461
private FrameLayout fl_local, fl_remote;
6562
private LinearLayout controlPanel;
6663
private Button join;
67-
private Switch beauty, lightness, colorful, noiseReduce, virtualBackground, lightness2, colorful2, noiseReduce2;
64+
private Switch beauty, virtualBackground, lightness2, colorful2, noiseReduce2;
6865
private SeekBar seek_lightness, seek_redness, seek_sharpness, seek_smoothness, seek_strength, seek_skin;
6966
private EditText et_channel;
7067
private RtcEngine engine;
@@ -95,19 +92,13 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
9592
controlPanel = view.findViewById(R.id.controlPanel);
9693
beauty = view.findViewById(R.id.switch_face_beautify);
9794
beauty.setOnCheckedChangeListener(this);
98-
lightness = view.findViewById(R.id.switch_lightness);
9995
lightness2 = view.findViewById(R.id.switch_lightness2);
100-
lightness.setOnCheckedChangeListener(this);
10196
lightness2.setOnCheckedChangeListener(this);
102-
colorful = view.findViewById(R.id.switch_color);
10397
colorful2 = view.findViewById(R.id.switch_color2);
104-
colorful.setOnCheckedChangeListener(this);
10598
colorful2.setOnCheckedChangeListener(this);
10699
virtualBackground = view.findViewById(R.id.switch_virtual_background);
107100
virtualBackground.setOnCheckedChangeListener(this);
108-
noiseReduce = view.findViewById(R.id.switch_video_noise_reduce);
109101
noiseReduce2 = view.findViewById(R.id.switch_video_noise_reduce2);
110-
noiseReduce.setOnCheckedChangeListener(this);
111102
noiseReduce2.setOnCheckedChangeListener(this);
112103
seek_lightness = view.findViewById(R.id.lightening);
113104
seek_lightness.setOnSeekBarChangeListener(this);
@@ -162,8 +153,6 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState)
162153
/**
163154
* enable video process extension
164155
*/
165-
config.addExtension("agora_video_process_extension");
166-
config.addExtension("agora_segmentation_extension");
167156
engine = RtcEngine.create(config);
168157
}
169158
catch (Exception e)
@@ -233,11 +222,6 @@ private void joinChannel(String channelId)
233222
{
234223
accessToken = null;
235224
}
236-
/**
237-
* enable face beauty by default
238-
*/
239-
engine.enableExtension("agora", "beauty", true);
240-
engine.enableExtension("agora_segmentation", "PortraitSegmentation", true);
241225
engine.startPreview();
242226
/** Allows a user to join a channel.
243227
if you do not specify the uid, we will generate the uid for you*/
@@ -321,113 +305,31 @@ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
321305
if(buttonView.getId() == beauty.getId()){
322306
engine.setBeautyEffectOptions(isChecked, beautyOptions);
323307
}
324-
else if(buttonView.getId() == lightness.getId()){
325-
lightness2.setEnabled(!isChecked);
326-
JSONObject beautyObj = new JSONObject();
327-
try {
328-
beautyObj.put("enable", isChecked ? 1 : 0);
329-
/**
330-
* level:
331-
* 0 (default), better quality
332-
* 1, better performance
333-
*/
334-
beautyObj.put("level", 1);
335-
/**
336-
* mode:
337-
* 0 (default), auto mode, sdk determine enable/disable according to environment.
338-
* 1, force enable.
339-
*/
340-
beautyObj.put("mode", 0);
341-
if (engine != null)
342-
engine.setExtensionProperty("agora",
343-
"beauty", "lowlight_enhance_option", beautyObj.toString());
344-
} catch (JSONException e) {
345-
e.printStackTrace();
346-
}
347-
}
348308
else if(buttonView.getId() == lightness2.getId()){
349309
LowLightEnhanceOptions options = new LowLightEnhanceOptions();
350310
options.lowlightEnhanceLevel = LowLightEnhanceOptions.LOW_LIGHT_ENHANCE_LEVEL_FAST;
351311
options.lowlightEnhanceMode = LowLightEnhanceOptions.LOW_LIGHT_ENHANCE_AUTO;
352312
engine.setLowlightEnhanceOptions(isChecked, options);
353-
lightness.setEnabled(!isChecked);
354-
}
355-
else if(buttonView.getId() == colorful.getId()){
356-
colorful2.setEnabled(!isChecked);
357-
setColorEnhance(isChecked);
358313
}
359314
else if(buttonView.getId() == colorful2.getId()){
360-
colorful.setEnabled(!isChecked);
361315
setColorEnhance(isChecked);
362316
}
363317
else if(buttonView.getId() == virtualBackground.getId()){
364318
engine.enableVirtualBackground(isChecked, virtualBackgroundSource, new SegmentationProperty());
365319
}
366-
else if(buttonView.getId() == noiseReduce.getId()){
367-
noiseReduce2.setEnabled(!isChecked);
368-
JSONObject beautyObj = new JSONObject();
369-
try {
370-
beautyObj.put("enable", isChecked ? 1 : 0);
371-
/**
372-
* level:
373-
* 0 (default), medium denoise level,
374-
* 1, fast denoise, for fixed camera scenario
375-
* 2, best denoise level, for high video noise scenario
376-
*/
377-
beautyObj.put("level", 0);
378-
/**
379-
* mode:
380-
* 0 (default), auto mode, sdk determine enable/disable according to environment.
381-
* 1, force enable.
382-
*/
383-
beautyObj.put("mode", 0);
384-
385-
if (engine != null)
386-
engine.setExtensionProperty("agora", "beauty", "video_denoiser_option", beautyObj.toString());
387-
388-
} catch (JSONException e) {
389-
e.printStackTrace();
390-
}
391-
} else if(buttonView.getId() == noiseReduce2.getId()){
320+
else if(buttonView.getId() == noiseReduce2.getId()){
392321
VideoDenoiserOptions options = new VideoDenoiserOptions();
393322
options.denoiserLevel = VideoDenoiserOptions.VIDEO_DENOISER_AUTO;
394323
options.denoiserMode = VideoDenoiserOptions.VIDEO_DENOISER_LEVEL_HIGH_QUALITY;
395324
engine.setVideoDenoiserOptions(isChecked, options);
396-
noiseReduce.setEnabled(!isChecked);
397325
}
398326
}
399327

400328
private void setColorEnhance(boolean isChecked){
401-
boolean isRtc = colorful2.isChecked();
402-
if(isRtc){
403-
ColorEnhanceOptions options = new ColorEnhanceOptions();
404-
options.strengthLevel = (float) strength;
405-
options.skinProtectLevel = (float) skinProtect;
406-
engine.setColorEnhanceOptions(isChecked, options);
407-
}
408-
else{
409-
JSONObject beautyObj = new JSONObject();
410-
try {
411-
beautyObj.put("enable", isChecked ? 1 : 0);
412-
/**
413-
* strength: [0.0, 1.0]
414-
* color strength
415-
*/
416-
beautyObj.put("strength", strength);
417-
/**
418-
* skinProtect: [0.0, 1.0]
419-
* higher skinProtect value, less impact for skin color.
420-
*/
421-
beautyObj.put("skinProtect", skinProtect);
422-
423-
if (engine != null)
424-
engine.setExtensionProperty("agora",
425-
"beauty", "color_enhance_option", beautyObj.toString());
426-
} catch (JSONException e) {
427-
e.printStackTrace();
428-
}
429-
}
430-
329+
ColorEnhanceOptions options = new ColorEnhanceOptions();
330+
options.strengthLevel = (float) strength;
331+
options.skinProtectLevel = (float) skinProtect;
332+
engine.setColorEnhanceOptions(isChecked, options);
431333
}
432334

433335
@Override
@@ -451,11 +353,11 @@ else if(seekBar.getId() == seek_smoothness.getId()){
451353
}
452354
else if(seekBar.getId() == seek_strength.getId()) {
453355
strength = value;
454-
setColorEnhance(colorful.isChecked());
356+
setColorEnhance(colorful2.isChecked());
455357
}
456358
else if(seekBar.getId() == seek_skin.getId()) {
457359
skinProtect = value;
458-
setColorEnhance(colorful.isChecked());
360+
setColorEnhance(colorful2.isChecked());
459361
}
460362
}
461363

Android/APIExample/app/src/main/res/layout/fragment_video_enhancement.xml

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -167,27 +167,19 @@
167167
</LinearLayout>
168168

169169
<Switch
170-
android:id="@+id/switch_lightness"
170+
android:id="@+id/switch_lightness2"
171171
android:layout_width="wrap_content"
172172
android:layout_height="wrap_content"
173173
android:layout_marginStart="8dp"
174174
android:layout_marginTop="15dp"
175175
android:checked="false"
176176
android:text="@string/lightness_enhance" />
177177

178-
<Switch
179-
android:id="@+id/switch_lightness2"
180-
android:layout_width="wrap_content"
181-
android:layout_height="wrap_content"
182-
android:layout_marginStart="8dp"
183-
android:layout_marginTop="15dp"
184-
android:checked="false"
185-
android:text="@string/lightness_enhance_rtc" />
186178

187179

188180

189181
<Switch
190-
android:id="@+id/switch_color"
182+
android:id="@+id/switch_color2"
191183
android:layout_width="wrap_content"
192184
android:layout_height="wrap_content"
193185
android:layout_marginStart="8dp"
@@ -251,23 +243,6 @@
251243

252244
</LinearLayout>
253245

254-
<Switch
255-
android:id="@+id/switch_color2"
256-
android:layout_width="wrap_content"
257-
android:layout_height="wrap_content"
258-
android:layout_marginStart="8dp"
259-
android:layout_marginTop="15dp"
260-
android:checked="false"
261-
android:text="@string/colorful_enhance_rtc" />
262-
263-
<Switch
264-
android:id="@+id/switch_video_noise_reduce"
265-
android:layout_width="wrap_content"
266-
android:layout_height="wrap_content"
267-
android:layout_marginStart="8dp"
268-
android:layout_marginTop="15dp"
269-
android:checked="false"
270-
android:text="@string/video_denoise" />
271246

272247
<Switch
273248
android:id="@+id/switch_video_noise_reduce2"
@@ -276,7 +251,7 @@
276251
android:layout_marginStart="8dp"
277252
android:layout_marginTop="15dp"
278253
android:checked="false"
279-
android:text="@string/video_denoise_rtc" />
254+
android:text="@string/video_denoise" />
280255

281256
<Switch
282257
android:id="@+id/switch_virtual_background"

0 commit comments

Comments
 (0)