diff --git a/app/src/main/java/com/mogo/cloud/MoGoApplication.java b/app/src/main/java/com/mogo/cloud/MoGoApplication.java index 04d6a92..90b5f0c 100644 --- a/app/src/main/java/com/mogo/cloud/MoGoApplication.java +++ b/app/src/main/java/com/mogo/cloud/MoGoApplication.java @@ -54,7 +54,7 @@ public class MoGoApplication extends MultiDexApplication { clientConfig.setThirdLogin(true); // 设置是否输出日志 clientConfig.setShowDebugLog(true); - // 设置是否是直播推流的主播 + // 设置是否是直播推流的主播 true-主播,false-观众 clientConfig.setAnchor(false); // 设置从蘑菇AI开放平台获取的APPKey clientConfig.setThirdPartyAppKey("pfieouqg"); diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/LiveStreamManagerImpl.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/LiveStreamManagerImpl.java index 05304bd..8054c8d 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/LiveStreamManagerImpl.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/LiveStreamManagerImpl.java @@ -205,7 +205,7 @@ public class LiveStreamManagerImpl implements ILiveStreamManager { }; /** - * + * 房间在线人数检测,1=只有自己需要关闭推流,>1 代表有观众在观看需要开启推流 */ private final Runnable mOnlineNumRun = () -> { // 判断当前观众的个数,如果没人观看了的情况则停止直播 @@ -215,6 +215,8 @@ public class LiveStreamManagerImpl implements ILiveStreamManager { if (mLivePusher.getLiveStatusModel().isPushing() && mLivePusher.getLiveStatusModel().getOnlineNumber() <= 1) { livePushHandler(PUSH_STOP, C1); + } else { + livePushHandler(PUSH_START, C1); } restartCheckOnlineNumLoop(); }; diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/MoGoLiveManager.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/MoGoLiveManager.java index 5fc1042..9ffe086 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/MoGoLiveManager.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/manager/MoGoLiveManager.java @@ -12,6 +12,7 @@ import com.mogo.cloud.live.listener.ILiveRoomPersonListener; import com.mogo.cloud.live.listener.ILiveStatusListener; import com.mogo.cloud.live.listener.IMediaPlayerStateListener; import com.mogo.cloud.live.model.LiveStatusModel; +import com.mogo.cloud.live.server.PushService; import com.mogo.cloud.passport.MoGoAiCloudClientConfig; import org.json.JSONObject; @@ -261,7 +262,9 @@ public class MoGoLiveManager { if (mLiveStatusModel.getCurrentRoomId().equals(roomID)) { // 更新真实的在线人数 mLiveStatusModel.setOnlineNumber(count); - + if (count > 2) { + PushService.startService(mApplication, PushService.ACTION_START_RTMP_PUSH); + } Log.i(TAG, "房间内当前在线用户数量回调 onRoomOnlineUserCountUpdate roomID : " + roomID + " , online user number : " + mLiveStatusModel.getOnlineNumber()); if (mRoomPersonListener != null) { @@ -307,12 +310,12 @@ public class MoGoLiveManager { " , state : " + state.name() + " , errorCode : " + errorCode); - // 判断如果处于非播放和非推流状态则进行登出操作,并释放引擎 - if (!mLiveStatusModel.isPlaying() - && !mLiveStatusModel.isPushing() - && mLiveStatusModel.getOnlineNumber() <= 1) { - logoutCurrentRoom(); - } +// // 判断如果处于非播放和非推流状态则进行登出操作,并释放引擎 +// if (!mLiveStatusModel.isPlaying() +// && !mLiveStatusModel.isPushing() +// && mLiveStatusModel.getOnlineNumber() <= 1) { +// logoutCurrentRoom(); +// } if (mLiveStatusListener != null) { mLiveStatusListener.onChange(mLiveStatusModel.isPushing() ? 0 : 1); @@ -487,6 +490,7 @@ public class MoGoLiveManager { mExpressEngine.setVideoConfig(zegoVideoConfig); } initCustomVideoCapture(); + loginRoom(); } /** diff --git a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/server/PushService.java b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/server/PushService.java index 3f35eb4..f38a9f8 100644 --- a/foudations/mogo-live/src/main/java/com/mogo/cloud/live/server/PushService.java +++ b/foudations/mogo-live/src/main/java/com/mogo/cloud/live/server/PushService.java @@ -100,7 +100,7 @@ public class PushService extends Service // 设置登录房间的回调监听 mLivePusher.addLiveRoomStatusListener(this); // 推流之前必须先登录房间 - mLivePusher.loginRoom(); + //mLivePusher.loginRoom(); } else { realStartPublish(); } @@ -126,7 +126,7 @@ public class PushService extends Service // 停止发布 mLivePusher.stopPublish(); // 退出房间 - mLivePusher.logoutCurrentRoom(); + //mLivePusher.logoutCurrentRoom(); } // 移除视频回碉监听 CameraFrameManager.getInstance().rmYuvDataCallback(this); diff --git a/upload.sh b/upload.sh index c835c8b..4049f34 100755 --- a/upload.sh +++ b/upload.sh @@ -1,5 +1,4 @@ #!/bin/bash - function upload(){ ./gradlew $1:clean $1:uploadArchives if [ $? -ne 0 ];then exit; fi @@ -8,4 +7,5 @@ function upload(){ for module in `cat modules.txt`; do upload $module -done \ No newline at end of file +done +echo -e "\033[32m 恭喜你完成了所有MoGo模块上传 \033[0m" \ No newline at end of file