主播开播时增加网络环境检测和提升

This commit is contained in:
老皮
2024-11-11 16:16:03 +08:00
parent 33b889cb79
commit 50fa5831c0
8 changed files with 196 additions and 3 deletions

View File

@@ -68,6 +68,7 @@ public class SWManager extends BaseCacheManager {
private FrameLayout pkContainer; //pk主播视图1
private FrameLayout linkUserContainer;//连麦用户视图
private onRtcEngineListener onRtcEngineListener;
private onNetWorkListener onNetWorkListener;
private List<String> drPkUserInfo = new ArrayList<>();
private ImageTrackOptions imageTrackOptions = null;
@@ -81,6 +82,9 @@ public class SWManager extends BaseCacheManager {
public void setOnRtcEngineListener(SWManager.onRtcEngineListener onRtcEngineListener) {
this.onRtcEngineListener = onRtcEngineListener;
}
public void setOnNetWorkListener(SWManager.onNetWorkListener onNetWorkListener) {
this.onNetWorkListener = onNetWorkListener;
}
public SWManager(Context context) {
super(context);
@@ -530,6 +534,26 @@ public class SWManager extends BaseCacheManager {
super.onLocalVideoStateChanged(source, state, error);
L.eSw("onLocalVideoStateChanged_source" + source + " state_" + state + " error_" + error);
}
@Override
public void onConnectionStateChanged(int state, int reason) {
super.onConnectionStateChanged(state, reason);
L.eSw("onConnectionStateChanged: state = " + state + " reason = " + reason );
// 使用wifi和数据切换的时候也会引起这个回调
if (state == 4 && reason == 2){
// 断网了
if (onNetWorkListener != null){
onNetWorkListener.onConnectionFail();
}
}else if (state == 3 && reason == 15){
// 断网后又恢复了
if (onNetWorkListener != null){
onNetWorkListener.onConnectionSuccess();
}
}
}
};
private void refreshToken() {
@@ -552,6 +576,11 @@ public class SWManager extends BaseCacheManager {
public void release() {
}
public interface onNetWorkListener {
void onConnectionSuccess();
void onConnectionFail();
}
public interface onRtcEngineListener {
void onOpenSuccess(String channel, int uid);