1:修改拍卖房背景

2:修改小黑屋报错问题
This commit is contained in:
2025-10-12 23:38:12 +08:00
parent 773db1da25
commit c1d13cd34c
12 changed files with 169 additions and 50 deletions

View File

@@ -184,7 +184,7 @@ dependencies {
// api( 'io.agora.rtc:agora-special-full:4.1.1.29')
api('com.github.AgoraIO-Community:LyricsView:1.1.3')
//声网集成屏幕共享
def agora_sdk_version = "4.5.2"
def agora_sdk_version = "4.6.0"
api "io.agora.rtc:full-sdk:${agora_sdk_version}"
// api("io.agora.rtc:lite-sdk:${agora_sdk_version}")
// api ("io.agora.rtc:voice-sdk:${agora_sdk_version}")

View File

@@ -2,25 +2,33 @@ package com.xscm.moduleutil.rtc;
import static com.blankj.utilcode.util.SnackbarUtils.getView;
import static io.agora.rtc2.video.VideoEncoderConfiguration.*;
import static io.agora.rtc2.video.VideoEncoderConfiguration.FRAME_RATE.FRAME_RATE_FPS_15;
import static io.agora.rtc2.video.VideoEncoderConfiguration.ORIENTATION_MODE.ORIENTATION_MODE_ADAPTIVE;
import static io.agora.rtc2.video.VideoEncoderConfiguration.STANDARD_BITRATE;
import static io.agora.rtc2.video.VideoEncoderConfiguration.VD_640x360;
import static io.agora.rtc2.video.VideoEncoderConfiguration.FRAME_RATE.FRAME_RATE_FPS_30;
import static io.agora.rtc2.video.VideoEncoderConfiguration.ORIENTATION_MODE.*;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.hardware.SensorManager;
import android.media.projection.MediaProjection;
import android.media.projection.MediaProjectionManager;
import android.os.Handler;
import android.os.Looper;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Display;
import android.view.OrientationEventListener;
import android.view.SurfaceView;
import android.view.WindowManager;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.blankj.utilcode.util.GsonUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.PathUtils;
import com.blankj.utilcode.util.ThreadUtils;
import com.blankj.utilcode.util.*;
import com.liulishuo.okdownload.DownloadTask;
import com.liulishuo.okdownload.StatusUtil;
import com.liulishuo.okdownload.core.cause.EndCause;
@@ -43,6 +51,7 @@ import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.io.FileInputStream;
import java.lang.reflect.Field;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
@@ -206,21 +215,50 @@ public class AgoraManager {
/*Enable video module*/
rtcEngine.enableVideo();
// Setup video encoding configs
rtcEngine.setVideoEncoderConfiguration(new VideoEncoderConfiguration(
VD_640x360,
FRAME_RATE_FPS_15,
STANDARD_BITRATE,
ORIENTATION_MODE_ADAPTIVE
));
// rtcEngine.setVideoEncoderConfiguration(new VideoEncoderConfiguration(
// VD_640x360,
// FRAME_RATE_FPS_30,
// STANDARD_BITRATE,
// ORIENTATION_MODE_FIXED_PORTRAIT
// ));
/*Set up to play remote sound with receiver*/
rtcEngine.setDefaultAudioRoutetoSpeakerphone(true);
// OrientationEventListener orientationListener = new OrientationEventListener(context,
// SensorManager.SENSOR_DELAY_NORMAL) {
// @Override
// public void onOrientationChanged(int orientation) {
// int angle = calculateScreenAngle(orientation);
// try {
// rtcEngine.setVideoOrientation(angle); // 通知声网引擎调整视频方向
// } catch (Exception e) {
// Log.e("AgoraManager", "Set video orientation failed", e);
// }
// }
// };
// orientationListener.enable(); // 启用监听
} catch (Exception e) {
Log.e("AgoraManager", "Failed to configure RtcEngine", e);
}
}
}
}
public static int calculateScreenAngle(int orientation) {
if (orientation >= 315 || orientation < 45) {
return 0; // 竖屏0度
} else if (orientation >= 45 && orientation < 135) {
return 90; // 横屏右90度
} else if (orientation >= 135 && orientation < 225) {
return 180; // 倒竖屏180度
} else {
return 270; // 横屏左270度
}
}
/**
* 加入语音聊天房间
*/
@@ -802,14 +840,58 @@ public class AgoraManager {
// rtcEngine.setDefaultAudioRoutetoSpeakerphone(true);
ScreenCaptureParameters screenCaptureParameters = new ScreenCaptureParameters();
// screenCaptureParameters.captureVideo = true;
// screenCaptureParameters.videoCaptureParameters.width = 1440;
// screenCaptureParameters.videoCaptureParameters.height = 1940;
// screenCaptureParameters.videoCaptureParameters.framerate = 15;
// screenCaptureParameters.captureAudio = true;
// screenCaptureParameters.audioCaptureParameters.captureSignalVolume = 50;
//// screenCaptureParameters.videoCaptureParameters.bitrate = 500;
// rtcEngine.startScreenCapture(screenCaptureParameters);
WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
DisplayMetrics outMetrics=new DisplayMetrics();
display.getMetrics(outMetrics);
// // 设置屏幕采集的参数
screenCaptureParameters.captureVideo = true;
screenCaptureParameters.videoCaptureParameters.width = 720;
screenCaptureParameters.videoCaptureParameters.height = 920;
screenCaptureParameters.videoCaptureParameters.width = outMetrics.widthPixels;
screenCaptureParameters.videoCaptureParameters.height = outMetrics.heightPixels;
// screenCaptureParameters.videoCaptureParameters.height = (int) (3840 * 1.0f / outMetrics.widthPixels * outMetrics.heightPixels);
screenCaptureParameters.videoCaptureParameters.framerate = 15;
screenCaptureParameters.captureAudio = true;
screenCaptureParameters.audioCaptureParameters.captureSignalVolume = 50;
screenCaptureParameters.audioCaptureParameters.captureSignalVolume =50;
screenCaptureParameters.videoCaptureParameters.contentHint=1 ;
rtcEngine.setVideoEncoderConfiguration(new VideoEncoderConfiguration(
VD_360x360,
FRAME_RATE_FPS_15,
STANDARD_BITRATE,
ORIENTATION_MODE_FIXED_PORTRAIT
));
rtcEngine.startScreenCapture(screenCaptureParameters);
}
}
public void setExternalMediaProjection(MediaProjection[] mediaProjection){
rtcEngine.setExternalMediaProjection(mediaProjection[0]);
}
public void isPost(){
if (rtcEngine != null){
ScreenCaptureParameters screenCaptureParameters = new ScreenCaptureParameters();
// 设置新的屏幕共享参数
screenCaptureParameters.captureVideo = true;
screenCaptureParameters.videoCaptureParameters.width = 1280;
screenCaptureParameters.videoCaptureParameters.height = 720;
screenCaptureParameters.videoCaptureParameters.framerate = 30;
// 更新屏幕共享参数
rtcEngine.updateScreenCaptureParameters(screenCaptureParameters);
}
}

View File

@@ -145,6 +145,7 @@ public class RoomMakeWheatView extends BaseWheatView {
iv_tag_type.setVisibility(GONE);
mCharmView.setVisibility(GONE);
mTvName.setText(pitBean.getNickname()!=null && !pitBean.getNickname().equals("")?pitBean.getNickname():"拍卖者");
mTvName.setBackgroundResource(com.xscm.moduleutil.R.mipmap.za_maiw_b);
}else if (pitBean.getPit_number().equals("9")){
iv_tag_type.setVisibility(VISIBLE);
mCharmView.setVisibility(GONE);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB