我想在通话期间使用适用于 Android 的 Vidyo SDK 应用模糊背景效果。我下载了他们的示例应用程序并尝试使用 setCameraBackgroundEffect 方法。然而,最终的结果总是一样的。我收到此错误:VIDYO_CONNECTORCAMERAEFFECTERROR_LoadEffectFailed。
这正是我所做的:
我克隆了这个repo。
按照指示我下载了Vidyo SDK 23.1.1.5
我将 VidyoClient.aar 和 banuba_effect_player_c_api-release.aar 复制到 app/libs
在activity_video_conference.xml中,我添加了一个额外的按钮(SET BLUR)来调用setBlur方法。
我启动应用程序并单击“视频会议”。相机预览开始,但当我单击“设置模糊”按钮时,相机效果未应用。我通过 CameraEffectErrorListener 收到“VIDYO_CONNECTORCAMERAEFFECTERROR_LoadEffectFailed”错误。
private void setBlur() {
connector.registerCameraEffectErrorListener(connectorCameraEffectError -> android.util.Log.d("yomama", "onCameraEffectError: " + connectorCameraEffectError));
BnbResources bnbResources = BanubaHelpersKt.prepareBnbResources(this);
ConnectorCameraEffectInfo cameraEffect = new ConnectorCameraEffectInfo();
cameraEffect.effectType = Connector.ConnectorCameraEffectType.VIDYO_CONNECTORCAMERAEFFECTTYPE_Blur;
cameraEffect.blurIntensity = 5;
cameraEffect.pathToEffect = bnbResources.getBackgroundBlurEffect().getAbsolutePath();
cameraEffect.pathToResources = bnbResources.getRoot().getAbsolutePath();
cameraEffect.token = "yP3dl+HLWuvbCBP65hfTXjRKfEC8pkAjGbiOTzWJ7EqOv1CPuRAzMXL/FL+QCPM/+L9SaFjkOqgbUjzlCV3HG5IqgIXScOmDG9AFZKaWjzgY9JsbOjP1ryvjz0GY2fS7CmfsNJt8mshflXzNW2pGEEOv1QRxbdMYz4nU1MiT0B54amokYGrzOBjCPgaTVJURMfcgOY1ch7q8Ga6JtgWgEGQZFiieAqb4MinvoBiti3nYNt4c6bzFAoAetuwar2LlzXwmjvRLhL+Ij/tQ4s7jkZQmq1pqg1JK4K3dsdcB3VM9ZHn70K5+f6l74Teu0KE1RF6efLH86HsU5bbTNmzqNftbmYPXhB4SRHRRjmXk2FB8fE8B43S/j15InvN/RHctHcMYmBeyjmv2vJvaMQIWMboo86S8Ati4R147u7JSetkFnFJF1wGAz77DPQUiFdyIdzGI6qxKF8rsLqgqhXRrlZXfnxkupsqjwmA5fbR4pxrhq1xRWGngWQd0xP1Y9xl7GD9fFNcyrFCvGIHb2DaHdsjOYDhtfRouWJcYTD2lE2juHMPIpDforQDjwQG7r0hHE6N0sWafyQ/SbNHrOTVY6mdJGe9CMvG9";
connector.setCameraBackgroundEffect(cameraEffect);
}
我做错了什么?如何正确应用相机背景效果?
我没有看到项目中有任何问题,因此在尝试设置之前,至少尝试检查以确保 Banuba 效果 (
effectFile
) 和 Banuba 资源目录 (resourcesDir
) 的文件确实存在。相机背景效果:
File effectFile = bnbResources.getBackgroundBlurEffect();
File resourcesDir = bnbResources.getRoot();
if (!effectFile.exists() || !resourcesDir.exists()) {
android.util.Log.e("VidyoError", "Banuba effect file or resources directory does not exist.");
return;
}
另一个检查是确保 Vidyo SDK 和 Banuba SDK 的版本相互兼容。并且目标 SDK(版本:33)和最小 SDK(版本:23)与您的测试环境兼容。