From b5aa3c7af7df72e43bf8b7f4c8570554601f9e30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Mon, 15 Mar 2021 12:42:39 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=86=E7=9B=B4?= =?UTF-8?q?=E6=92=ADSDK=E9=92=88=E5=AF=B9=E4=B8=8D=E5=90=8C=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E9=9B=86=E6=88=90=E5=90=8E=E5=87=BA=E7=8E=B0=E8=A2=AB?= =?UTF-8?q?=E8=B8=A2=E6=8E=89=E7=BA=BF=E7=9A=84=E9=97=AE=E9=A2=98=201.0.58?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/cloud/MainActivity.java | 2 +- .../java/com/mogo/cloud/MoGoApplication.java | 5 +++-- .../layout/activity_live_play_and_push.xml | 2 +- .../cloud/live/manager/MoGoLiveManager.java | 13 ++++++++--- .../mogo/cloud/live/server/PushService.java | 5 ++++- .../passport/MoGoAiCloudClientConfig.java | 22 +++++++++++++++++++ gradle.properties | 18 +++++++-------- 7 files changed, 50 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/mogo/cloud/MainActivity.java b/app/src/main/java/com/mogo/cloud/MainActivity.java index a958789..dc3485e 100644 --- a/app/src/main/java/com/mogo/cloud/MainActivity.java +++ b/app/src/main/java/com/mogo/cloud/MainActivity.java @@ -107,7 +107,7 @@ public class MainActivity extends AppCompatActivity { * 初始化令牌信息 */ private void initPassportInfo() { - tvAppKey.setText("AppKey:" + MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getThirdPartyDeviceId()); + tvAppKey.setText("AppKey:" + MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getThirdPartyAppKey()); tvDevicesId.setText("DevicesId:" + MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getThirdPartyDeviceId()); String sn = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn(); diff --git a/app/src/main/java/com/mogo/cloud/MoGoApplication.java b/app/src/main/java/com/mogo/cloud/MoGoApplication.java index f5542c0..5cadeb2 100644 --- a/app/src/main/java/com/mogo/cloud/MoGoApplication.java +++ b/app/src/main/java/com/mogo/cloud/MoGoApplication.java @@ -43,18 +43,19 @@ public class MoGoApplication extends MultiDexApplication { MoGoAiCloudClientConfig clientConfig = MoGoAiCloudClientConfig.getInstance(); // 设置网络环境:HTTP_DNS_ENV_QA、HTTP_DNS_ENV_RELEASE、HTTP_DNS_ENV_DEV clientConfig.setNetMode(MogoHttpDnsConfig.HTTP_DNS_ENV_QA); - // 设置是否是第三APP登录,false:自有车机 true:外部三方车机 clientConfig.setThirdLogin(false); // 设置是否输出日志 clientConfig.setShowDebugLog(true); + // 设置是否是直播推流的主播 + clientConfig.setAnchor(true); // 设置从蘑菇AI开放平台获取的APPKey clientConfig.setThirdPartyAppKey("wbvpzgar"); // 设置AI云平台分配给三方应用的签名密钥,需要从AI云平台申请 // 设置车机设备的唯一标识(这些表识必须是通过后台录入的设备) clientConfig.setThirdPartyDeviceId(Devices.getSn()); // 设置应用服务AppId 长链、鉴权 //todo 需要卸载智慧驾驶、行车记录仪 - clientConfig.setServiceAppId("com.mogo.launcher"); + clientConfig.setServiceAppId("com.zhidao.carcorder"); // 设置循环检测间隔时间 clientConfig.setLoopCheckDelay(15 * 1000); // 设置是否属于高精定位设备 diff --git a/app/src/main/res/layout/activity_live_play_and_push.xml b/app/src/main/res/layout/activity_live_play_and_push.xml index e4be5d2..5bd49d6 100644 --- a/app/src/main/res/layout/activity_live_play_and_push.xml +++ b/app/src/main/res/layout/activity_live_play_and_push.xml @@ -104,7 +104,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:hint="请输入要查看的车机SN" - android:text="F803EB2046PZD00149" + android:text="F803BB2037EZD00007" android:textColor="#FFFF" app:layout_constraintBottom_toTopOf="@+id/liveToggleBtn" app:layout_constraintEnd_toEndOf="parent" 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 c5eef50..565ee30 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 @@ -480,9 +480,16 @@ public class MoGoLiveManager { */ public synchronized void loginRoom() { // 当前用户ID - String userId = mLivePushConfig.getDevicesId(); - mLiveStatusModel.setCurrentRoomId(ROOM_ID_PREFIX + mLivePushConfig.getDevicesId()); - mLiveStatusModel.setCurrentStreamId(STREAM_ID_PREFIX + mLivePushConfig.getDevicesId()); + String userId; + if (MoGoAiCloudClientConfig.getInstance().isAnchor()) { + // 这里为了方便直接使用原始的车机SN + userId = mLivePushConfig.getDevicesId(); + } else { + // 这里对观众添加标记,防止与主播的ID相同,导致踢下线的情况发生 + userId = "Audience_" + mLivePushConfig.getDevicesId(); + } + mLiveStatusModel.setCurrentRoomId(ROOM_ID_PREFIX + userId); + mLiveStatusModel.setCurrentStreamId(STREAM_ID_PREFIX + userId); Logger.i(TAG, "尝试进入自己房间 loginRoom userId : " + userId + " currentRoomId:" + mLiveStatusModel.getCurrentRoomId() 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 3c1be11..acd7db6 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 @@ -42,7 +42,6 @@ public class PushService extends Service Logger.i(TAG, "初始化推流服务……"); if (mLivePusher == null) { mLivePusher = MoGoLiveManager.getInstance(); - mLivePusher.addLiveRoomStatusListener(this); } } @@ -98,6 +97,8 @@ public class PushService extends Service return; } if (mLivePusher != null && !mLivePusher.getLiveStatusModel().isLoginCurrentRoom()) { + // 设置登录房间的回调监听 + mLivePusher.addLiveRoomStatusListener(this); // 推流之前必须先登录房间 mLivePusher.loginRoom(); } else { @@ -118,6 +119,8 @@ public class PushService extends Service */ private void stopPush() { try { + // 移除登录房间回调 + mLivePusher.removeLiveRoomStatusListener(this); // 是否处于发布状态 if (mLivePusher != null && mLivePusher.getLiveStatusModel().isPushing()) { // 停止发布 diff --git a/foudations/mogo-passport/src/main/java/com/mogo/cloud/passport/MoGoAiCloudClientConfig.java b/foudations/mogo-passport/src/main/java/com/mogo/cloud/passport/MoGoAiCloudClientConfig.java index c1ccfd4..9127f21 100644 --- a/foudations/mogo-passport/src/main/java/com/mogo/cloud/passport/MoGoAiCloudClientConfig.java +++ b/foudations/mogo-passport/src/main/java/com/mogo/cloud/passport/MoGoAiCloudClientConfig.java @@ -62,6 +62,12 @@ public class MoGoAiCloudClientConfig { */ private boolean isShowDebugLog = true; + /** + * 因为ZeGo的房间限制,这里需要区分出,SDK提供给的是观众还是主播 + * true-主播,false-观众 + */ + private boolean isAnchor = true; + /** * 服务器分配给应用的令牌,用于网络请求校验 */ @@ -350,6 +356,22 @@ public class MoGoAiCloudClientConfig { mServiceAppId = serviceAppId; } + /** + * @return true-主播,false-观众 + */ + public boolean isAnchor() { + return isAnchor; + } + + /** + * 设置是否是主播 + * + * @param anchor true-主播,false-观众 + */ + public void setAnchor(boolean anchor) { + isAnchor = anchor; + } + /** * 返回HttpDns的位置信息,必须设置,否则将无法使用网络请求 * diff --git a/gradle.properties b/gradle.properties index d13c95a..1b2fe81 100644 --- a/gradle.properties +++ b/gradle.properties @@ -27,23 +27,23 @@ SNAPSHOT_REPOSITORY_URL=http://nexus.zhidaoauto.com/repository/maven-snapshots/ USERNAME=xintai PASSWORD=xintai2018 # 编译模式: false - 依赖本地版本, true - 依赖 maven 版本 -RELEASE=false +RELEASE=true # AI CLOUD 云平台 # 工具类 -MOGO_UTILS_VERSION=1.0.57 +MOGO_UTILS_VERSION=1.0.58 # 网络请求 -MOGO_NETWORK_VERSION=1.0.57 +MOGO_NETWORK_VERSION=1.0.58 # 网络DNS -MOGO_HTTPDNS_VERSION=1.0.57 +MOGO_HTTPDNS_VERSION=1.0.58 # 鉴权 -MOGO_PASSPORT_VERSION=1.0.57 +MOGO_PASSPORT_VERSION=1.0.58 # 常链接 -MOGO_SOCKET_VERSION=1.0.57 +MOGO_SOCKET_VERSION=1.0.58 # 数据采集 MOGO_REALTIME_VERSION=1.0.58 # 探路,道路事件发布,获取 -MOGO_TANLU_VERSION=1.0.57 +MOGO_TANLU_VERSION=1.0.58 # 直播推流 -MOGO_LIVE_VERSION=1.0.57 +MOGO_LIVE_VERSION=1.0.58 # 直播拉流 -MOGO_TRAFFICLIVE_VERSION=1.0.57 +MOGO_TRAFFICLIVE_VERSION=1.0.58 From 0619438eb53712baa1ca7abd243fe7e134306d8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=AE=8F=E5=AE=87?= Date: Tue, 16 Mar 2021 10:12:48 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BA=86=E7=9B=B4?= =?UTF-8?q?=E6=92=ADSDK=E9=92=88=E5=AF=B9=E4=B8=8D=E5=90=8C=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E9=9B=86=E6=88=90=E5=90=8E=E5=87=BA=E7=8E=B0=E8=A2=AB?= =?UTF-8?q?=E8=B8=A2=E6=8E=89=E7=BA=BF=E7=9A=84=E9=97=AE=E9=A2=98=201.0.58?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/mogo/cloud/MoGoApplication.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/mogo/cloud/MoGoApplication.java b/app/src/main/java/com/mogo/cloud/MoGoApplication.java index 5cadeb2..b468a51 100644 --- a/app/src/main/java/com/mogo/cloud/MoGoApplication.java +++ b/app/src/main/java/com/mogo/cloud/MoGoApplication.java @@ -48,14 +48,14 @@ public class MoGoApplication extends MultiDexApplication { // 设置是否输出日志 clientConfig.setShowDebugLog(true); // 设置是否是直播推流的主播 - clientConfig.setAnchor(true); + clientConfig.setAnchor(false); // 设置从蘑菇AI开放平台获取的APPKey clientConfig.setThirdPartyAppKey("wbvpzgar"); // 设置AI云平台分配给三方应用的签名密钥,需要从AI云平台申请 // 设置车机设备的唯一标识(这些表识必须是通过后台录入的设备) clientConfig.setThirdPartyDeviceId(Devices.getSn()); // 设置应用服务AppId 长链、鉴权 //todo 需要卸载智慧驾驶、行车记录仪 - clientConfig.setServiceAppId("com.zhidao.carcorder"); + clientConfig.setServiceAppId("com.mogo.launcher"); // 设置循环检测间隔时间 clientConfig.setLoopCheckDelay(15 * 1000); // 设置是否属于高精定位设备