opt
This commit is contained in:
@@ -28,8 +28,7 @@ import com.tencent.rtmp.ui.TXCloudVideoView;
|
||||
* V2XLiveGSYVideoView
|
||||
*/
|
||||
public class CameraLiveGSYVideoView extends LiveRoundLayout implements IMogoSkinCompatSupportable {
|
||||
private static final String TAG = "liyz";
|
||||
|
||||
private static final String TAG = "CameraLiveGSYVideoView";
|
||||
private TXCloudVideoView mTxcVideoView;
|
||||
private ProgressBar mLoading;
|
||||
private TXLivePlayer mLivePlayer;
|
||||
|
||||
@@ -17,7 +17,7 @@ import com.mogo.utils.logger.Logger;
|
||||
* 路边摄像头直播控制 V2XPushLiveCarScenario
|
||||
*/
|
||||
public class CameraLiveManager extends AbsCameraScenario<CloudRoadData> implements IMogoTopViewStatusListener {
|
||||
private static final String TAG = "liyz";
|
||||
private static final String TAG = "CameraLiveManager";
|
||||
private static CameraLiveManager mCameraLiveManager;
|
||||
private boolean isShowWindow;
|
||||
|
||||
|
||||
@@ -3,16 +3,14 @@ package com.mogo.module.extensions.utils;
|
||||
import android.content.Context;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.mogo.commons.AbsMogoApplication;
|
||||
import com.mogo.map.marker.IMogoInfoWindowAdapter;
|
||||
import com.mogo.map.marker.IMogoMarker;
|
||||
import com.mogo.map.marker.IMogoMarkerClickListener;
|
||||
import com.mogo.map.marker.MogoMarkerOptions;
|
||||
import com.mogo.module.common.MogoApisHandler;
|
||||
import com.mogo.module.common.drawer.marker.RoadConditionInfoWindow3DAdapter;
|
||||
import com.mogo.module.common.entity.CloudRoadData;
|
||||
import com.mogo.module.common.entity.MogoSnapshotSetData;
|
||||
import com.mogo.module.extensions.R;
|
||||
@@ -22,9 +20,7 @@ import com.mogo.module.extensions.live.ExtensionServiceManager;
|
||||
import com.mogo.module.extensions.live.PushDataType;
|
||||
import com.mogo.service.connection.IMogoOnWebSocketMessageListener;
|
||||
import com.mogo.service.connection.WebSocketMsgType;
|
||||
import com.mogo.service.statusmanager.IMogoStatusChangedListener;
|
||||
import com.mogo.service.statusmanager.StatusDescriptor;
|
||||
import com.mogo.utils.UiThreadHandler;
|
||||
import com.mogo.utils.TipToast;
|
||||
import com.mogo.utils.logger.Logger;
|
||||
|
||||
|
||||
@@ -37,6 +33,8 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener<M
|
||||
private static IMogoMarker mMogoMarker;
|
||||
private CloudRoadData mCloudRoadData;
|
||||
private boolean isVrMode;
|
||||
private boolean isVrModeMarker;
|
||||
private volatile String mCurrentUuid;
|
||||
|
||||
|
||||
public void init(Context context) {
|
||||
@@ -50,16 +48,16 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener<M
|
||||
@Override
|
||||
public boolean onMarkerClicked(IMogoMarker marker) {
|
||||
//点击的marker的具体数据
|
||||
if (mCloudRoadData != null) {
|
||||
if (mCloudRoadData != null && !TextUtils.isEmpty(mCloudRoadData.getRtmpUrl())) {
|
||||
CameraLiveManager.getInstance().init(mCloudRoadData);
|
||||
} else {
|
||||
Logger.e(TAG, " onMarkerClicked mCloudRoadData == null ");
|
||||
TipToast.shortTip("直播流地址为空");
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
public void release() {
|
||||
@@ -70,28 +68,12 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener<M
|
||||
public void enterVrMode() {
|
||||
Logger.d(TAG, "进入vr模式===");
|
||||
isVrMode = true;
|
||||
|
||||
//test
|
||||
// CloudRoadData cloudRoadData = new CloudRoadData();
|
||||
// cloudRoadData.setRtmpUrl("rtmp://58.200.131.2:1935/livetv/hunantv");
|
||||
// //shunyi
|
||||
// cloudRoadData.setLat(40.200583);
|
||||
// cloudRoadData.setLon(116.738538);
|
||||
// addVrCameraMarker(cloudRoadData);
|
||||
}
|
||||
|
||||
|
||||
public void exitVrMode() {
|
||||
Logger.d(TAG, "退出vr模式===");
|
||||
isVrMode = false;
|
||||
|
||||
//test
|
||||
// CloudRoadData mCloudRoadData = new CloudRoadData();
|
||||
// mCloudRoadData.setRtmpUrl("rtmp://58.200.131.2:1935/livetv/hunantv");
|
||||
// //shunyi
|
||||
// mCloudRoadData.setLat(40.200583);
|
||||
// mCloudRoadData.setLon(116.738538);
|
||||
// addNormalCameraMarker(mCloudRoadData);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,7 +83,8 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener<M
|
||||
* @param roadData
|
||||
*/
|
||||
private void addVrCameraMarker(CloudRoadData roadData) {
|
||||
Log.d(TAG, "addVrCameraMarker --lat = " + roadData.getLat() + "--lon =" + roadData.getLon());
|
||||
Logger.d(TAG, "addVrCameraMarker --lat = " + roadData.getLat() + "--lon =" + roadData.getLon() + "--uuid = " + roadData.getUuid() + "---rtmpUrl =" + roadData.getRtmpUrl());
|
||||
Log.d("lixp", "addVrCameraMarker --lat = " + roadData.getLat() + "--lon =" + roadData.getLon() + "--uuid = " + roadData.getUuid() + "---rtmpUrl =" + roadData.getRtmpUrl());
|
||||
removeCameraMarker();
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.object(roadData)
|
||||
@@ -114,7 +97,7 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener<M
|
||||
mMogoMarker = ExtensionServiceManager.getMapService().getMarkerManager(mContext)
|
||||
.addMarker(PushDataType.TYPE_PUSH_CAMERA_DATA, options);
|
||||
if (mMogoMarker != null) {
|
||||
mMogoMarker.setInfoWindowAdapter(new CameraWindow3DAdapter(AbsMogoApplication.getApp(), mMogoMarker.getMogoMarkerOptions()));
|
||||
mMogoMarker.setInfoWindowAdapter(new CameraWindow3DAdapter(AbsMogoApplication.getApp(), options));
|
||||
mMogoMarker.showInfoWindow();
|
||||
mMogoMarker.setOwner(PushDataType.TYPE_PUSH_CAMERA_DATA);
|
||||
}
|
||||
@@ -126,8 +109,11 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener<M
|
||||
* @param roadData
|
||||
*/
|
||||
private void addNormalCameraMarker(CloudRoadData roadData) {
|
||||
Log.d(TAG, "addNormalCameraMarker --lat = " + roadData.getLat() + " --lon =" + roadData.getLon());
|
||||
Logger.d(TAG, "addNormalCameraMarker --lat = " + roadData.getLat() + " --lon =" + roadData.getLon() + "--uuid = " + roadData.getUuid() + "---rtmpUrl =" + roadData.getRtmpUrl());
|
||||
Log.d("lixp", "addNormalCameraMarker --lat = " + roadData.getLat() + " --lon =" + roadData.getLon() + "--uuid = " + roadData.getUuid() + "---rtmpUrl =" + roadData.getRtmpUrl());
|
||||
removeCameraMarker();
|
||||
mMogoMarker.hideInfoWindow();
|
||||
|
||||
MogoMarkerOptions options = new MogoMarkerOptions()
|
||||
.object(roadData)
|
||||
.latitude(roadData.getLat())
|
||||
@@ -139,7 +125,7 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener<M
|
||||
mMogoMarker = ExtensionServiceManager.getMapService().getMarkerManager(mContext)
|
||||
.addMarker(PushDataType.TYPE_PUSH_CAMERA_DATA, options);
|
||||
if (mMogoMarker != null) {
|
||||
mMogoMarker.setInfoWindowAdapter(new CameraWindow3DAdapter(AbsMogoApplication.getApp(), mMogoMarker.getMogoMarkerOptions()));
|
||||
mMogoMarker.setOwner(PushDataType.TYPE_PUSH_CAMERA_DATA);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -159,60 +145,43 @@ public class CameraLiveNoticeHelper implements IMogoOnWebSocketMessageListener<M
|
||||
return MogoSnapshotSetData.class;
|
||||
}
|
||||
|
||||
private volatile boolean isLoadVr = false;
|
||||
private volatile boolean isLoadNormal = false;
|
||||
private volatile String mCurrentUuid;
|
||||
|
||||
|
||||
/**
|
||||
* @param obj TODO
|
||||
* @param obj
|
||||
*/
|
||||
@Override
|
||||
public void onMsgReceived(MogoSnapshotSetData obj) {
|
||||
Logger.d(TAG, "onMsgReceived cameralive : " + obj);
|
||||
if (obj != null) {
|
||||
mCloudRoadData = obj.getCamera();
|
||||
|
||||
if (mCloudRoadData != null) {
|
||||
Log.e(TAG, "onMsgReceived getRtmpUrl = " + mCloudRoadData.getRtmpUrl() + "--- isVrMode = " + isVrMode + ">>>>mCurrentUuid = " + mCurrentUuid + ">>>mCloudRoadData.getUuid() = " + mCloudRoadData.getUuid());
|
||||
if (mCurrentUuid != null && mCurrentUuid.equals(mCloudRoadData.getUuid())) {
|
||||
Log.d(TAG, "isLoadVr = " + isLoadVr + "....isLoadNormal = " + isLoadNormal);
|
||||
if (isVrMode) {
|
||||
if (!isLoadVr) {
|
||||
isLoadVr = true;
|
||||
isLoadNormal = false;
|
||||
Log.d(TAG, "addVrCameraMarker1 ------------1-------- ");
|
||||
addVrCameraMarker(mCloudRoadData);
|
||||
} else {
|
||||
Log.e(TAG, "isVrMode not need add marker");
|
||||
}
|
||||
Logger.d(TAG, "onMsgReceived getRtmpUrl = " + mCloudRoadData.getRtmpUrl() + "--- isVrMode = " + isVrMode + ">>>>mCurrentUuid = " + mCurrentUuid + ">>>mCloudRoadData.getUuid() = " + mCloudRoadData.getUuid());
|
||||
if (TextUtils.equals(mCurrentUuid, mCloudRoadData.getUuid())) {
|
||||
if (isVrMode == isVrModeMarker) {
|
||||
// do nothing.
|
||||
} else {
|
||||
if (!isLoadNormal) {
|
||||
isLoadNormal = true;
|
||||
isLoadVr = false;
|
||||
Log.d(TAG, "addNormalCameraMarker1------------2-------- ");
|
||||
addNormalCameraMarker(mCloudRoadData);
|
||||
if (isVrMode) {
|
||||
addVrCameraMarker(mCloudRoadData);
|
||||
isVrModeMarker = true;
|
||||
} else {
|
||||
Log.e(TAG, "isNormalMode not need add marker");
|
||||
addNormalCameraMarker(mCloudRoadData);
|
||||
isVrModeMarker = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Logger.d(TAG, "mCurrentUuid != ----------");
|
||||
mCurrentUuid = mCloudRoadData.getUuid();
|
||||
Log.e(TAG, "mCurrentUuid == null " + "-----isVrMode = " + isVrMode);
|
||||
if (isVrMode) { //TODO
|
||||
Log.d(TAG, "addVrCameraMarker1 ------------11111-------- ");
|
||||
if (isVrMode) {
|
||||
addVrCameraMarker(mCloudRoadData);
|
||||
isVrModeMarker = true;
|
||||
} else {
|
||||
Log.d(TAG, "addNormalCameraMarker1 ------------22222-------- ");
|
||||
addNormalCameraMarker(mCloudRoadData);
|
||||
isVrModeMarker = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
//删除marker
|
||||
Log.e(TAG, "onMsgReceived mCloudRoadData == null ");
|
||||
UiThreadHandler.postDelayed(() -> {
|
||||
removeCameraMarker();
|
||||
}, 2_000);
|
||||
Logger.e(TAG, "onMsgReceived mCloudRoadData == null ");
|
||||
removeCameraMarker();
|
||||
}
|
||||
} else {
|
||||
Logger.e(TAG, "onMsgReceived obj == null ");
|
||||
|
||||
Reference in New Issue
Block a user