add[声望升级-游戏房判断声网或者融云]
This commit is contained in:
@@ -33,6 +33,7 @@ import io.agora.rtc2.IRtcEngineEventHandler;
|
||||
import io.agora.rtc2.RtcConnection;
|
||||
import io.agora.rtc2.RtcEngineConfig;
|
||||
import io.agora.rtc2.RtcEngineEx;
|
||||
import io.agora.rtc2.video.ContentInspectConfig;
|
||||
import io.agora.rtc2.video.VideoCanvas;
|
||||
import io.agora.rtc2.video.VideoEncoderConfiguration;
|
||||
|
||||
@@ -66,6 +67,7 @@ public class SWManager extends BaseCacheManager {
|
||||
|
||||
/**
|
||||
* 获取单列
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static SWManager get() {
|
||||
@@ -123,7 +125,7 @@ public class SWManager extends BaseCacheManager {
|
||||
// 创建一个 SurfaceView 对象,并将其作为 FrameLayout 的子对象
|
||||
SurfaceView surfaceView = new SurfaceView(mContext);
|
||||
anchorContainer.addView(surfaceView);
|
||||
Config config = new Config(mContext, mRtcEngine, FURenderer.INSTANCE.mFURenderKit, null, CaptureMode.Agora, 0, false, new CameraConfig(MirrorMode.MIRROR_NONE,MirrorMode.MIRROR_NONE));
|
||||
Config config = new Config(mContext, mRtcEngine, FURenderer.INSTANCE.mFURenderKit, null, CaptureMode.Agora, 0, false, new CameraConfig(MirrorMode.MIRROR_NONE, MirrorMode.MIRROR_NONE));
|
||||
faceUnityBeautyAPI.initialize(config);
|
||||
faceUnityBeautyAPI.enable(false);
|
||||
|
||||
@@ -135,17 +137,19 @@ public class SWManager extends BaseCacheManager {
|
||||
//faceUnityBeautyAPI.updateCameraConfig(new CameraConfig(MirrorMode.MIRROR_NONE,MirrorMode.MIRROR_NONE));
|
||||
//mRtcEngine.setupLocalVideo(new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN, uid));
|
||||
setEnableBeauty(true); //默认开启美颜
|
||||
|
||||
setContentInspect(); //开启视频截图上传
|
||||
}
|
||||
|
||||
public void setEnableBeauty(boolean flag){
|
||||
if(faceUnityBeautyAPI!=null){
|
||||
|
||||
public void setEnableBeauty(boolean flag) {
|
||||
if (faceUnityBeautyAPI != null) {
|
||||
faceUnityBeautyAPI.enable(flag);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置清晰度
|
||||
*
|
||||
* @param selectClarity
|
||||
*/
|
||||
public void setDimensions(int selectClarity) {
|
||||
@@ -175,12 +179,12 @@ public class SWManager extends BaseCacheManager {
|
||||
/**
|
||||
* 设置镜像模式
|
||||
*/
|
||||
public void setMirrorMode(){
|
||||
if(cfg!=null&&mRtcEngine!=null){
|
||||
L.eSw("setMirrorMode设置镜像"+cfg.mirrorMode);
|
||||
if(cfg.mirrorMode==VideoEncoderConfiguration.MIRROR_MODE_TYPE.MIRROR_MODE_ENABLED){
|
||||
public void setMirrorMode() {
|
||||
if (cfg != null && mRtcEngine != null) {
|
||||
L.eSw("setMirrorMode设置镜像" + cfg.mirrorMode);
|
||||
if (cfg.mirrorMode == VideoEncoderConfiguration.MIRROR_MODE_TYPE.MIRROR_MODE_ENABLED) {
|
||||
cfg.mirrorMode = VideoEncoderConfiguration.MIRROR_MODE_TYPE.MIRROR_MODE_DISABLED; //取消镜像
|
||||
}else{
|
||||
} else {
|
||||
cfg.mirrorMode = VideoEncoderConfiguration.MIRROR_MODE_TYPE.MIRROR_MODE_ENABLED; //设置镜像
|
||||
}
|
||||
mRtcEngine.setVideoEncoderConfiguration(cfg);
|
||||
@@ -190,11 +194,23 @@ public class SWManager extends BaseCacheManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void setContentInspect() {
|
||||
ContentInspectConfig config = new ContentInspectConfig();
|
||||
config.extraInfo = "YourExtraInfo";
|
||||
config.moduleCount = 1;
|
||||
// 功能模块的类型为视频截图上传
|
||||
config.modules[0].type = ContentInspectConfig.CONTENT_INSPECT_TYPE_SUPERVISE;
|
||||
// 视频截图上传的频率为 2 秒一次
|
||||
config.modules[0].interval = 2;
|
||||
mRtcEngine.enableContentInspect(true, config);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 设置镜像模式
|
||||
* 设置前後攝像頭
|
||||
*/
|
||||
public void switchCamera(){
|
||||
if(mRtcEngine!=null){
|
||||
public void switchCamera() {
|
||||
if (mRtcEngine != null) {
|
||||
mRtcEngine.switchCamera();
|
||||
}
|
||||
}
|
||||
@@ -212,6 +228,7 @@ public class SWManager extends BaseCacheManager {
|
||||
|
||||
/**
|
||||
* 更新主播视图
|
||||
*
|
||||
* @param frameLayout
|
||||
*/
|
||||
public void updateMyChannelView(FrameLayout frameLayout) {
|
||||
@@ -220,13 +237,14 @@ public class SWManager extends BaseCacheManager {
|
||||
surfaceView.setZOrderMediaOverlay(true);
|
||||
frameLayout.addView(surfaceView);
|
||||
|
||||
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN , uid);
|
||||
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN, uid);
|
||||
mRtcEngine.setupLocalVideo(videoCanvas);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* PK-加入对方主播直播间
|
||||
*
|
||||
* @param strUid
|
||||
* @param token
|
||||
* @param toUid
|
||||
@@ -264,7 +282,7 @@ public class SWManager extends BaseCacheManager {
|
||||
SurfaceView surfaceView = new SurfaceView(mContext);
|
||||
surfaceView.setZOrderMediaOverlay(true);
|
||||
pkContainer.addView(surfaceView);
|
||||
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN ,Integer.parseInt(toUid));
|
||||
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN, Integer.parseInt(toUid));
|
||||
mRtcEngine.setupRemoteVideoEx(videoCanvas, rtcConnection);
|
||||
}
|
||||
});
|
||||
@@ -286,12 +304,13 @@ public class SWManager extends BaseCacheManager {
|
||||
|
||||
/**
|
||||
* PK-加入对方主播直播间
|
||||
*
|
||||
* @param strUid
|
||||
* @param token
|
||||
* @param toUid
|
||||
* @param channelName
|
||||
*/
|
||||
public void joinChannelDrEx(FrameLayout frameLayout,String strUid, String token, String toUid, String channelName) {
|
||||
public void joinChannelDrEx(FrameLayout frameLayout, String strUid, String token, String toUid, String channelName) {
|
||||
int tempUid;
|
||||
if (StringUtil.isEmpty(strUid)) {
|
||||
tempUid = 0;
|
||||
@@ -324,7 +343,7 @@ public class SWManager extends BaseCacheManager {
|
||||
SurfaceView surfaceView = new SurfaceView(mContext);
|
||||
surfaceView.setZOrderMediaOverlay(true);
|
||||
frameLayout.addView(surfaceView);
|
||||
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN ,Integer.parseInt(toUid));
|
||||
VideoCanvas videoCanvas = new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_HIDDEN, Integer.parseInt(toUid));
|
||||
mRtcEngine.setupRemoteVideoEx(videoCanvas, rtcConnection);
|
||||
}
|
||||
});
|
||||
@@ -345,10 +364,11 @@ public class SWManager extends BaseCacheManager {
|
||||
|
||||
/**
|
||||
* 退出对方直播间
|
||||
* @param uid 自己的ID
|
||||
*
|
||||
* @param uid 自己的ID
|
||||
* @param liveUid 对方直播间号
|
||||
*/
|
||||
public void exitChannelToUid(int uid, String liveUid){
|
||||
public void exitChannelToUid(int uid, String liveUid) {
|
||||
RtcConnection rtcConnection = new RtcConnection();
|
||||
rtcConnection.channelId = getChannelName(liveUid); //對方主播的頻道
|
||||
rtcConnection.localUid = uid;//自己的ID
|
||||
@@ -358,8 +378,8 @@ public class SWManager extends BaseCacheManager {
|
||||
/**
|
||||
* 退出所有频道
|
||||
*/
|
||||
public void exitChannelAll(){
|
||||
if(mRtcEngine!=null){
|
||||
public void exitChannelAll() {
|
||||
if (mRtcEngine != null) {
|
||||
mRtcEngine.leaveChannel();
|
||||
}
|
||||
}
|
||||
@@ -367,6 +387,7 @@ public class SWManager extends BaseCacheManager {
|
||||
public void setAnchorContainer(FrameLayout anchorContainer) {
|
||||
this.anchorContainer = anchorContainer;
|
||||
}
|
||||
|
||||
//远程监听
|
||||
private final IRtcEngineEventHandler mRtcEventHandler = new IRtcEngineEventHandler() {
|
||||
@Override
|
||||
@@ -384,7 +405,7 @@ public class SWManager extends BaseCacheManager {
|
||||
@Override
|
||||
public void onJoinChannelSuccess(String channel, int uid, int elapsed) {
|
||||
super.onJoinChannelSuccess(channel, uid, elapsed);
|
||||
L.eSw("onJoinChannelSuccess 加入频道:channel"+channel+" uid:"+uid+" elapsed:"+elapsed);
|
||||
L.eSw("onJoinChannelSuccess 加入频道:channel" + channel + " uid:" + uid + " elapsed:" + elapsed);
|
||||
if (onRtcEngineListener != null) {
|
||||
onRtcEngineListener.onOpenSuccess(channel, uid);
|
||||
}
|
||||
@@ -393,7 +414,7 @@ public class SWManager extends BaseCacheManager {
|
||||
@Override
|
||||
public void onError(int err) {
|
||||
super.onError(err);
|
||||
L.eSw("onError 错误码:"+err);
|
||||
L.eSw("onError 错误码:" + err);
|
||||
ToastUtil.show("onError:" + err);
|
||||
}
|
||||
|
||||
@@ -420,7 +441,7 @@ public class SWManager extends BaseCacheManager {
|
||||
@Override
|
||||
public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int error) {
|
||||
super.onLocalVideoStateChanged(source, state, error);
|
||||
L.eSw("onLocalVideoStateChanged_source"+source+" state_"+state+" error_"+error);
|
||||
L.eSw("onLocalVideoStateChanged_source" + source + " state_" + state + " error_" + error);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -452,10 +473,11 @@ public class SWManager extends BaseCacheManager {
|
||||
public void setLinkUserContainer(FrameLayout linkUserContainer) {
|
||||
this.linkUserContainer = linkUserContainer;
|
||||
}
|
||||
|
||||
public static String getChannelName(String liveUid) {
|
||||
if(liveUid.contains("g")){
|
||||
if (liveUid.contains("g")) {
|
||||
return liveUid;
|
||||
}else{
|
||||
} else {
|
||||
return CommonAppConfig.SWChannelPrefix + liveUid;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user