删除部分不需要代码。

This commit is contained in:
2025-10-30 09:19:46 +08:00
parent f1ef717e2b
commit 430816878d
33 changed files with 1068 additions and 4211 deletions

View File

@@ -91,10 +91,12 @@ public class MessageListenerSingleton {
}
public static MessageListenerSingleton getInstance() {
if (instance == null) {
instance = new MessageListenerSingleton();
synchronized (MessageListenerSingleton.class) {
if (instance == null) {
instance = new MessageListenerSingleton();
}
return instance;
}
return instance;
}
/**
@@ -160,111 +162,6 @@ public class MessageListenerSingleton {
}
}
// 修改 joinGroup 方法
// public void joinGroup(String roomId) {
// if (TextUtils.isEmpty(roomId)) {
// return;
// }
//
// // 使用同步块确保操作的原子性
// synchronized (groupOperationLock) {
// if (isGroupOperationInProgress) {
// // 如果有操作正在进行,延迟执行
// mainHandler.removeCallbacksAndMessages(null);
// mainHandler.postDelayed(() -> joinGroup(roomId), 100);
// return;
// }
//
// isGroupOperationInProgress = true;
// }
//
//
// // 在新线程中执行操作
// new Thread(() -> {
// try {
// // 先退出当前群组
// if (groupId != null && !groupId.equals(roomId)) {
// try {
// quitGroup(groupId);
// // 执行退出操作
// // TIMGroupManager.getInstance().quitGroup(groupId);
// LogUtils.d("MessageListener", "退出群组: " + groupId);
// } catch (Exception e) {
// LogUtils.e("MessageListener", "退出群组失败: " + e.getMessage());
// }
// }
//
// // 等待一小段时间确保退出完成
// Thread.sleep(500);
//
// // 加入新群组
// try {
// // 执行加入操作
//
// ensureListenersAdded();
// V2TIMManager.getInstance().joinGroup("room" + roomId, "申请加入", new V2TIMCallback() {
// @Override
// public void onSuccess() {
// Log.d("@@@", "加入im群组成功");
//
// groupId = roomId;
// }
//
// @Override
// public void onError(int code, String desc) {
// Log.d("@@@", "加入群组失败:" + code + "=" + desc);
// }
// });
//
// groupId = roomId;
// LogUtils.d("MessageListener", "加入群组: " + roomId);
// } catch (Exception e) {
// LogUtils.e("MessageListener", "加入群组失败: " + e.getMessage());
// }
// } catch (InterruptedException e) {
// Thread.currentThread().interrupt();
// } finally {
// synchronized (groupOperationLock) {
// isGroupOperationInProgress = false;
// }
// }
// }).start();
//
//
//// LogUtils.e("@@@", "加入房间的"+roomId);
//// if (groupId!=null){
//// quitGroup(groupId);
//// }
////
//// // 确保监听器已初始化并添加
//// ensureListenersAdded();
//// V2TIMManager.getInstance().joinGroup("room" + roomId, "申请加入", new V2TIMCallback() {
//// @Override
//// public void onSuccess() {
//// Log.d("@@@", "加入im群组成功");
////
//// groupId = roomId;
//// }
////
//// @Override
//// public void onError(int code, String desc) {
//// Log.d("@@@", "加入群组失败:" + code + "=" + desc);
//// }
//// });
//
// if (tempGroupJoinListener == null) {
// tempGroupJoinListener = new OnMessageReceivedListener() {
// @Override
// public void onMessageReceived(RoomMessageEvent message) {
// // 处理消息
//
// }
// };
// addOnMessageReceivedListener(tempGroupJoinListener);
// }
// }
// 修改 joinGroup 方法,确保先退出再加入
public void joinGroup(String roomId) {
if (TextUtils.isEmpty(roomId)) {
@@ -341,7 +238,7 @@ public class MessageListenerSingleton {
joinSuccess[0] = true;
groupId = roomId;
joinLatch.countDown();
// 标记房间已加入
// 标记房间已加入
markRoomJoined(roomId);
}
@@ -381,13 +278,11 @@ public class MessageListenerSingleton {
simpleMsgListener = new V2TIMSimpleMsgListener() {
@Override
public void onRecvC2CTextMessage(String msgID, V2TIMUserInfo sender, String text) {
// notifyMessageReceived("C2C 文本消息:" + sender.getNickName() + " - " + text);
LogUtils.d("C2C 文本消息 " + sender.getNickName());
}
@Override
public void onRecvC2CCustomMessage(String msgID, V2TIMUserInfo sender, byte[] customData) {
// notifyMessageReceived("C2C 自定义(信令)消息:" + sender.getNickName());
LogUtils.d("C2C 自定义(信令)消息 " + sender.getNickName());
String message = new String(customData, StandardCharsets.UTF_8);
RoomMessageEvent event = GsonUtils.fromJson(message, RoomMessageEvent.class);
@@ -396,13 +291,11 @@ public class MessageListenerSingleton {
@Override
public void onRecvGroupTextMessage(String msgID, String groupID, V2TIMGroupMemberInfo sender, String text) {
// notifyMessageReceived("群文本消息:群组 " + groupID + " 中 " + sender.getNickName() + " - " + text);
LogUtils.d("群文本消息:群组 " + groupID + "" + sender.getNickName());
}
@Override
public void onRecvGroupCustomMessage(String msgID, String groupID, V2TIMGroupMemberInfo sender, byte[] customData) {
// notifyMessageReceived("群自定义(信令)消息:群组 " + groupID + " 中 " + sender.getNickName());
LogUtils.d("收到群自定义消息:群组 " + groupID + "" + sender.getNickName());
if (!groupID.equals("")) {
String message = new String(customData, StandardCharsets.UTF_8);
@@ -441,29 +334,16 @@ public class MessageListenerSingleton {
@Override
public void onMemberEnter(String groupID, List<V2TIMGroupMemberInfo> memberList) {
// 有新成员加入群,该群所有的成员都能收到
// for (V2TIMGroupMemberInfo member : memberList) {
// notifyMessageReceived("系统消息:" + member.getNickName() + " 加入了群组");
// }
}
@Override
public void onMemberLeave(String groupID, V2TIMGroupMemberInfo member) {
// 有成员离开群,该群所有的成员都能收到
// notifyMessageReceived("系统消息:" + member.getNickName() + " 离开了群组");
}
@Override
public void onReceiveRESTCustomData(String groupID, byte[] customData) {
// 服务器发送的自定义系统通知
// 将 byte[] 转换为 String
// String message = new String(customData, StandardCharsets.UTF_8);
// RoomMessageEvent event = GsonUtils.fromJson(message, RoomMessageEvent.class);
// if (groupID.contains(SpUtil.getMyRoomId())) {
// notifyMessageReceived(event);
// }
// LogUtils.e("收到群自定义消息(系统)" + message);
String message = "";
try {
@@ -506,11 +386,11 @@ public class MessageListenerSingleton {
super.onTotalUnreadMessageCountChanged(totalUnreadCount);
UnreadCountEvent event = CommonAppContext.getInstance().getUnreadCountEvent();
if (event== null){
if (event == null) {
event = new UnreadCountEvent();
event.setBLong(0);
}
event.setALong( totalUnreadCount);
event.setALong(totalUnreadCount);
CommonAppContext.getInstance().setUnreadCountEvent(event);
EventBus.getDefault().post(event);
}
@@ -602,141 +482,10 @@ public class MessageListenerSingleton {
// 确保监听器已添加
private void ensureListenersAdded() {
// if (!listenersAdded) {
initListeners();
addAllListeners();
// listenersAdded = true;
// }
}
// private void initListeners() {
// // 简单消息监听器
// simpleMsgListener = new V2TIMSimpleMsgListener() {
// @Override
// public void onRecvC2CTextMessage(String msgID, V2TIMUserInfo sender, String text) {
//// notifyMessageReceived("C2C 文本消息:" + sender.getNickName() + " - " + text);
// LogUtils.d("C2C 文本消息 " + sender.getNickName());
// }
//
// @Override
// public void onRecvC2CCustomMessage(String msgID, V2TIMUserInfo sender, byte[] customData) {
//// notifyMessageReceived("C2C 自定义(信令)消息:" + sender.getNickName());
// LogUtils.d("C2C 自定义(信令)消息 " + sender.getNickName());
// String message = new String(customData, StandardCharsets.UTF_8);
// RoomMessageEvent event = GsonUtils.fromJson(message, RoomMessageEvent.class);
// notifyMessageReceived(event);
// }
//
// @Override
// public void onRecvGroupTextMessage(String msgID, String groupID, V2TIMGroupMemberInfo sender, String text) {
//// notifyMessageReceived("群文本消息:群组 " + groupID + " 中 " + sender.getNickName() + " - " + text);
// LogUtils.d("群文本消息:群组 " + groupID + " 中 " + sender.getNickName());
// }
//
// @Override
// public void onRecvGroupCustomMessage(String msgID, String groupID, V2TIMGroupMemberInfo sender, byte[] customData) {
//// notifyMessageReceived("群自定义(信令)消息:群组 " + groupID + " 中 " + sender.getNickName());
// LogUtils.d("收到群自定义消息:群组 " + groupID + " 中 " + sender.getNickName());
// if (!groupID.equals("")) {
// String message = new String(customData, StandardCharsets.UTF_8);
// RoomMessageEvent event = GsonUtils.fromJson(message, RoomMessageEvent.class);
// notifyMessageReceived(event);
// LogUtils.d("收到群自定义消息(信令):", message);
// }else {
// String message = new String(customData, StandardCharsets.UTF_8);
// LogUtils.d("收到群自定义消息(信令):", message);
// HeadlineBean event = GsonUtils.fromJson(message, HeadlineBean.class);
// EventBus.getDefault().post(event);
// }
//
// }
// };
// V2TIMManager.getMessageManager().addAdvancedMsgListener(v2TIMAdvancedMsgListener);
// V2TIMManager.getInstance().addSimpleMsgListener(simpleMsgListener);
//
// v2TIMAdvancedMsgListener=new V2TIMAdvancedMsgListener() {
// @Override
// public void onRecvNewMessage(V2TIMMessage msg) {
// super.onRecvNewMessage(msg);
// if (msg.isBroadcastMessage()) {
// // 收到了广播消息
// String message = new String(msg.getCustomElem().getData(), StandardCharsets.UTF_8);
// LogUtils.e("收到广播消息(系统):",message);
// }
// }
// };
//
// groupListener = new V2TIMGroupListener() {
// @Override
// public void onMemberEnter(String groupID, List<V2TIMGroupMemberInfo> memberList) {
// // 有新成员加入群,该群所有的成员都能收到
//// for (V2TIMGroupMemberInfo member : memberList) {
//// notifyMessageReceived("系统消息:" + member.getNickName() + " 加入了群组");
//// }
// }
//
// @Override
// public void onMemberLeave(String groupID, V2TIMGroupMemberInfo member) {
// // 有成员离开群,该群所有的成员都能收到
//// notifyMessageReceived("系统消息:" + member.getNickName() + " 离开了群组");
// }
//
// @Override
// public void onReceiveRESTCustomData(String groupID, byte[] customData) {
// // 服务器发送的自定义系统通知
// // 将 byte[] 转换为 String
//
//// String message = new String(customData, StandardCharsets.UTF_8);
//// RoomMessageEvent event = GsonUtils.fromJson(message, RoomMessageEvent.class);
//// if (groupID.contains(SpUtil.getMyRoomId())) {
//// notifyMessageReceived(event);
//// }
//// LogUtils.e("收到群自定义消息(系统)" + message);
//
// String message = "";
// try {
//
// message = new String(customData, StandardCharsets.UTF_8);
// LogUtils.e("收到群自定义消息(系统)" + message);
// } catch (Exception e) {
// // 处理转换过程中可能出现的异常,例如记录日志
// LogUtils.e("转换 customData 为 String 时出错:" + e.getMessage());
// return; // 退出方法,避免后续代码执行
// }
//
// RoomMessageEvent event = null;
// try {
// // 特殊处理某些消息类型
// event = parseSpecialMessageTypes(message);
// if (event == null) {
// // 使用默认解析
// event = GsonUtils.fromJson(message, RoomMessageEvent.class);
// }
//
//// event = GsonUtils.fromJson(message, RoomMessageEvent.class);
// } catch (Exception e) {
// // 处理 JSON 解析过程中可能出现的异常,例如记录日志
// LogUtils.e("解析 JSON 数据时出错:" + e.getMessage());
// return; // 退出方法,避免后续代码执行
// }
//
// if (groupID.contains(SpUtil.getMyRoomId())) {
// notifyMessageReceived(event);
// }
// }
// };
//
// V2TIMManager.getInstance().addGroupListener(groupListener);
//
// V2TIMConversationListener conversationListener = new V2TIMConversationListener() {
// @Override
// public void onTotalUnreadMessageCountChanged(long totalUnreadCount) {
// super.onTotalUnreadMessageCountChanged(totalUnreadCount);
// EventBus.getDefault().post(new UnreadCountEvent(totalUnreadCount));
// }
// };
// V2TIMManager.getConversationManager().addConversationListener(conversationListener);
// }
private RoomMessageEvent parseSpecialMessageTypes(String message) {
try {
@@ -756,77 +505,6 @@ public class MessageListenerSingleton {
}
}
// public static MessageListenerSingleton getInstance() {
// if (instance == null) {
// instance = new MessageListenerSingleton();
// }
// return instance;
// }
private OnMessageReceivedListener tempGroupJoinListener;
// public void joinGroup(String roomId) {
//
//// if (!mRoomId.isEmpty()){
//// V2TIMManager.getInstance().quitGroup("room"+roomId, new V2TIMCallback() {
//// @Override
//// public void onSuccess() {
//// LogUtils.d("退出群组成功");
//// }
////
//// @Override
//// public void onError(int code, String desc) {
//// LogUtils.d("退出群组失败");
//// }
//// });
//// }
// mRoomId=roomId;
//
// V2TIMManager.getInstance().joinGroup("room" + mRoomId, "申请加入", new V2TIMCallback() {
// @Override
// public void onSuccess() {
// RoomMessageEvent.T t = new RoomMessageEvent.T();
// t.setText("羽声严禁未成年人进行直播或打赏官方将24小时在线巡查。我们提倡绿色直播直播间严禁出现涉政、涉恐、涉黄、涉赌等违法违规内容严禁宣传封建迷信、宗教极端思想、出现低俗色情、吸烟酗酒等内容严禁违反社会主义核心价值观、践踏社会道德底线、诱导打赏、低俗 PK 、买卖金币等行为,请大家共同遵守、监督并及时举报。请勿相信各类刷钻、购买礼包、游戏币及电商贩卖等非官方广告信息,谨防网络诈骗。");
// // 加入群组成功
//// onMessageReceived(new RoomMessageEvent(1000, roomId, t));
//// EventBus.getDefault().post(new RoomMessageEvent(1000, mRoomId, t));
// notifyMessageReceived(new RoomMessageEvent(1000, mRoomId, t));
// }
//
// @Override
// public void onError(int code, String desc) {
// // 加入群组失败
// Log.d("@@@", "加入群组失败:" + code + "=" + desc);
// }
// });
//
// if (tempGroupJoinListener == null) {
// tempGroupJoinListener = new OnMessageReceivedListener() {
// @Override
// public void onMessageReceived(RoomMessageEvent message) {
// // 处理消息
// }
// };
// addOnMessageReceivedListener(tempGroupJoinListener);
// }
// initListeners();
// }
// public static void quitGroup(String mRoomId){
//
// V2TIMManager.getInstance().quitGroup("room"+mRoomId, new V2TIMCallback() {
// @Override
// public void onSuccess() {
// LogUtils.d("退出群组成功");
// removeGroupListeners();
// }
//
// @Override
// public void onError(int code, String desc) {
// LogUtils.d("退出群组失败", code,desc);
// removeGroupListeners();
// }
// });
// }
public void addOnMessageReceivedListener(OnMessageReceivedListener listener) {
listeners.add(listener);
}
@@ -884,16 +562,6 @@ public class MessageListenerSingleton {
}
// public static void reset(String roomId) {
// if (instance != null) {
// instance.listeners.clear();
// V2TIMManager.getInstance().removeSimpleMsgListener(instance.simpleMsgListener);
// V2TIMManager.getInstance().removeGroupListener(instance.groupListener);
// isInitialized = false;
// instance = null;
// quitGroup(roomId);
// }
// }
// RoomFragment.java 中添加
private final V2TIMSendCallback<V2TIMMessage> sendCallback = new V2TIMSendCallback<V2TIMMessage>() {
@Override

View File

@@ -1,34 +1,28 @@
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.FRAME_RATE.FRAME_RATE_FPS_30;
import static io.agora.rtc2.video.VideoEncoderConfiguration.ORIENTATION_MODE.*;
import static io.agora.rtc2.video.VideoEncoderConfiguration.ORIENTATION_MODE.ORIENTATION_MODE_FIXED_LANDSCAPE;
import static io.agora.rtc2.video.VideoEncoderConfiguration.STANDARD_BITRATE;
import static io.agora.rtc2.video.VideoEncoderConfiguration.VD_1280x720;
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.*;
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.liulishuo.okdownload.DownloadTask;
import com.liulishuo.okdownload.StatusUtil;
import com.liulishuo.okdownload.core.cause.EndCause;
@@ -45,15 +39,12 @@ import com.xscm.moduleutil.listener.MessageListenerSingleton;
import com.xscm.moduleutil.utils.Md5Utils;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.logger.Logger;
//import com.tencent.bugly.idasc.crashreport.CrashReport;
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;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
@@ -112,8 +103,6 @@ public class AgoraManager {
}
private AgoraManager() {
// this.context = context.getApplicationContext();
// init(CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId());
}
@@ -123,8 +112,6 @@ public class AgoraManager {
if (instance == null) {
instance = new AgoraManager();
context = con.getApplicationContext(); // 使用ApplicationContext避免内存泄漏
// init(CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId());
// init(CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId());
}
}
}
@@ -162,7 +149,6 @@ public class AgoraManager {
if (rtcEngine != null) {
return;
}
;
synchronized (AgoraManager.class) {
if (rtcEngine != null) {
@@ -214,51 +200,17 @@ public class AgoraManager {
/*Enable video module*/
rtcEngine.enableVideo();
// Setup video encoding configs
// 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度
}
}
/**
* 加入语音聊天房间
*/
@@ -360,53 +312,13 @@ public class AgoraManager {
}
musicContentCenter = IAgoraMusicContentCenter.create(rtcEngine);
contentCenterConfiguration = new MusicContentCenterConfiguration();
// 已开启音乐内容中心项目的 App ID
// 已开启音乐内容中心项目的 App ID
contentCenterConfiguration.appId = CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId();
// 使用音乐内容中心的用户 ID。该 ID 可以和你加入 RTC 频道时使用的 uid 一致,但不能为 0
// 使用音乐内容中心的用户 ID。该 ID 可以和你加入 RTC 频道时使用的 uid 一致,但不能为 0
contentCenterConfiguration.mccUid = uid;
// 填入用于鉴权的 Token
// 填入用于鉴权的 Token
contentCenterConfiguration.token = SpUtil.getRtmToken();
// 创建 IAgoraMusicContentCenterEventHandler用于 SDK 向客户端发送音乐内容中心事件通知
// contentCenterConfiguration.eventHandler = new IMusicContentCenterEventHandler() {
// @Override
// public void onPreLoadEvent(String requestId, long songCode, int percent, String lyricUrl, int status, int errorCode) {
// LogUtils.e("@@@1", "requestId: " + requestId + ", songCode: " + songCode + ", percent: " + percent + ", lyricUrl: " + lyricUrl + ", status: " + status + ", errorCode: " + errorCode);
// if (!lyricUrl.isEmpty() && percent == 100 && !isBjMusic) {
// getLyricsInstance(lyricUrl);
// }
//// musicPlayer.open(songCode, 0);
// }
//
// @Override
// public void onMusicCollectionResult(String requestId, int page, int pageSize, int total, Music[] list, int errorCode) {
// LogUtils.e("@@@2", "requestId: " + requestId + ", page: " + page + ", pageSize: " + pageSize + ", total: " + total);
// MusicBean musicBean = new MusicBean();
// musicBean.setMusicList(Arrays.asList(list));
// musicBean.setPage(page);
// EventBus.getDefault().post(musicBean);
// }
//
// @Override
// public void onMusicChartsResult(String requestId, MusicChartInfo[] list, int errorCode) {
// LogUtils.e("@@@", "requestId: " + requestId);
// }
//
// @Override
// public void onLyricResult(String requestId, long songCode, String lyricUrl, int errorCode) {
// LogUtils.e("@@@22", "requestId: " + requestId + ", songCode: " + songCode + ", lyricUrl: " + lyricUrl + ", errorCode: " + errorCode);
// if (lyricUrl != null && !isBjMusic) {
// getLyricsInstance(lyricUrl);
// }
// }
//
// @Override
// public void onSongSimpleInfoResult(String requestId, long songCode, String simpleInfo, int errorCode) {
// LogUtils.e("@@@", "requestId: " + requestId + ", songCode: " + songCode + ", simpleInfo: " + simpleInfo + ", errorCode: " + errorCode);
// }
// };
// 初始化 IAgoraMusicContentCenter
musicContentCenter.initialize(contentCenterConfiguration);
if (musicPlayer != null) {
musicPlayer = null;
@@ -421,12 +333,6 @@ public class AgoraManager {
// getLyricsInstance(lyricUrl);
}
LogUtils.e("AgoraManager", "isPreload2: " + songCode, "percent: " + percent);
// if (!lyricUrl.isEmpty() && percent == 100 && !isBjMusic) {
// musicPlayer.stop();
// musicPlayer.open(songCode, 0);
//// getLyricsInstance(lyricUrl);
// }
}
@Override
@@ -478,13 +384,6 @@ public class AgoraManager {
@Override
public void onUserJoined(int uid, int elapsed) {//远端用户加入频道
// for (IRtcEngineEventHandler handler : eventHandlers) {
// if (handler != null) {
// handler.onUserJoined(uid, elapsed);
//
// }
// }
for (SoundLevelUpdateListener listener : soundLevelUpdateListeners) {
if (listener != null) {
ThreadUtils.runOnUiThread(() -> {
@@ -505,19 +404,13 @@ public class AgoraManager {
@Override
public void onUserOffline(int uid, int reason) {//远端用户离开频道
// for (IRtcEngineEventHandler handler : eventHandlers) {
// if (handler != null) {
// handler.onUserOffline(uid, reason);
// }
for (SoundLevelUpdateListener listener : soundLevelUpdateListeners) {
if (listener != null) {
ThreadUtils.runOnUiThread(() -> {
// 远程用户音量变化
listener.userOffline(uid, reason);
// }
});
}
// }
}
SurfaceView renderView = null;
rtcEngine.setupRemoteVideo(new VideoCanvas(null, Constants.RENDER_MODE_FIT, uid));
@@ -743,16 +636,6 @@ public class AgoraManager {
if (rtcEngine != null) {
options.clientRoleType = Constants.CLIENT_ROLE_BROADCASTER;
// options.autoSubscribeVideo = true;
// options.autoSubscribeAudio = true;
//// 不发布摄像头采集的视频
// options.publishCameraTrack = false;
//// 不发布麦克风采集的视频
// options.publishMicrophoneTrack = false;
//// 在频道中发布屏幕采集的视频
// options.publishScreenCaptureVideo = true;
//// 在频道中发布屏幕采集的音频
// options.publishScreenCaptureAudio = true;
rtcEngine.setScreenCaptureScenario(Constants.ScreenScenarioType.SCREEN_SCENARIO_VIDEO);
rtcEngine.updateChannelMediaOptions(options);
}
@@ -760,30 +643,7 @@ public class AgoraManager {
public void post() {
if (rtcEngine != null) {
// rtcEngine.setParameters("{\"che.video.mobile_1080p\":true}");
// rtcEngine.setClientRole(Constants.CLIENT_ROLE_BROADCASTER);
//
// /*Enable video module*/
// rtcEngine.enableVideo();
// // Setup video encoding configs
// rtcEngine.setVideoEncoderConfiguration(new VideoEncoderConfiguration(
// VD_640x360,
// FRAME_RATE_FPS_15,
// STANDARD_BITRATE,
// ORIENTATION_MODE_ADAPTIVE
// ));
// /*Set up to play remote sound with receiver*/
// 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();
@@ -810,26 +670,6 @@ public class AgoraManager {
}
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);
}
}
public void isMute(int index) {
if (rtcEngine != null) {
}
@@ -841,13 +681,6 @@ public class AgoraManager {
}
}
public void stopMusicPlayer() {
if (musicPlayer != null) {
musicPlayer.stop();
}
}
/**
* 完全销毁实例(只在应用退出时调用)
*/
@@ -900,8 +733,6 @@ public class AgoraManager {
init(CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId());
}
if (rtcEngine != null) {
// RtcConnection connection = new RtcConnection();
// connection.channelId = mRoomId;
if (connection == null) {
connection = new RtcConnection();
connection.channelId = pkRoomId;
@@ -927,9 +758,6 @@ public class AgoraManager {
* @param uid
*/
public void muteLocalAudioStreamEx(boolean enabled, int uid) {
// RtcConnection connection = new RtcConnection();
// connection.channelId = mRoomId;
// connection.localUid = uid;
if (rtcEngine == null) {
init(CommonAppContext.getInstance().getCurrentEnvironment().getSwSdkAppId());
}
@@ -968,23 +796,6 @@ public class AgoraManager {
return isLocalAudioEnabled;
}
/**
* 添加事件监听器(用于全局回调)
*/
// public void addEventHandler(IRtcEngineEventHandler handler) {
// if (handler != null && !eventHandlers.contains(handler)) {
// eventHandlers.add(handler);
// }
// }
/**
* 移除事件监听器
*/
// public void removeEventHandler(IRtcEngineEventHandler handler) {
// if (handler != null) {
// eventHandlers.remove(handler);
// }
// }
public void addSoundLevelListener(SoundLevelUpdateListener listener) {
if (soundLevelUpdateListeners != null) {
soundLevelUpdateListeners.add(listener);
@@ -1303,25 +1114,19 @@ public class AgoraManager {
public static void stopMuisc() {
if (musicPlayer != null) {
// if (musicPlayer.getState() == io.agora.mediaplayer.Constants.MediaPlayerState.PLAYER_STATE_PLAYING) {
musicPlayer.stop();
// }
}
}
public void pauseMusic() {
if (musicPlayer != null) {
// if (musicPlayer.getState() == io.agora.mediaplayer.Constants.MediaPlayerState.PLAYER_STATE_PLAYING) {
musicPlayer.pause();
// }
}
}
public void resumeMusic() {
if (musicPlayer != null) {
// if (musicPlayer.getState() == io.agora.mediaplayer.Constants.MediaPlayerState.PLAYER_STATE_PLAYING) {
musicPlayer.resume();
// }
}
}
@@ -1463,7 +1268,6 @@ public class AgoraManager {
@Override
public void retry(@NonNull DownloadTask task, @NonNull ResumeFailedCause cause) {
com.xscm.moduleutil.utils.logger.Logger.e("retry", cause);
// CrashReport.postCatchedException(new RuntimeException("下载文件重试:" + cause == null ? "" : cause.name()));
}
@Override
@@ -1483,18 +1287,11 @@ public class AgoraManager {
MusicFileBean musicFileBean = new MusicFileBean();
musicFileBean.setFileData(convertFileToByteArray(task.getFile()));
EventBus.getDefault().post(musicFileBean);
if (cause != null && cause != EndCause.COMPLETED) {
// CrashReport.postCatchedException(new RuntimeException("下载任务结束:" + cause == null ? "" : cause.name() + "_realCause:" + realCause == null ? "" : realCause.getMessage()));
}
}
});
}
}
public void setmSongCode(long songCode) {
mSongCode = songCode;
}
public void loadLrc(long songCode) {
mSongCode = songCode;
if (musicContentCenter != null) {