fix ui bug

This commit is contained in:
zhongchao
2021-04-09 11:49:47 +08:00
parent fd221d8137
commit bbcd8bd7dd
24 changed files with 225 additions and 160 deletions

View File

@@ -20,7 +20,7 @@ import com.mogo.utils.TipToast;
* author : donghongyu
* e-mail : 1358506549@qq.com
* date : 2020/5/15 5:37 PM
* desc : TODO 演示使用的推送单车机直播场景
* desc : TODO 推送直播场景 非演示
* version: 1.0
*/
public class V2XPushLiveCarScenario extends AbsV2XScenario<V2XPushMessageEntity> implements IMogoTopViewStatusListener {
@@ -44,11 +44,9 @@ public class V2XPushLiveCarScenario extends AbsV2XScenario<V2XPushMessageEntity>
show();
} else {
TipToast.shortTip("附近没有可直播车机");
//Logger.e(V2XConst.MODULE_NAME, "直播地址为null");
}
} else {
setV2XMessageEntity(v2XMessageEntity);
//Logger.w(V2XConst.MODULE_NAME, "要处理的场景已经存在,丢弃这次初始化");
}
}
@@ -65,9 +63,15 @@ public class V2XPushLiveCarScenario extends AbsV2XScenario<V2XPushMessageEntity>
int height = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_see_live_window_height_vr : R.dimen.module_v2x_event_see_live_window_height);
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(width, height);
V2XServiceManager
.getMogoTopViewManager()
.addViewNoLinkage(getV2XWindow().getView(), layoutParams, this);
if (V2XServiceManager.getMoGoStatusManager().isVrMode()) {
V2XServiceManager
.getMogoTopViewManager()
.addViewNoLinkage(getV2XWindow().getView(), layoutParams, this);
} else {
V2XServiceManager
.getMogoTopViewManager()
.addView(getV2XWindow().getView(), layoutParams, this);
}
getV2XWindow().show(getV2XMessageEntity().getContent());
V2XServiceManager.getMoGoV2XStatusManager().setLiveCarWindowShow(TAG, true);
}
@@ -111,23 +115,19 @@ public class V2XPushLiveCarScenario extends AbsV2XScenario<V2XPushMessageEntity>
@Override
public void onViewAdded(View view) {
//Logger.d(MODULE_NAME, "展示 Window 动画结束");
ADASUtils.broadcastToADAS(V2XServiceManager.getContext(), getV2XMessageEntity().getContent());
}
@Override
public void onViewRemoved(View view) {
//Logger.d(MODULE_NAME, "关闭 Window 动画结束");
}
@Override
public void beforeViewAddAnim(View view) {
//Logger.d(MODULE_NAME, "展示 Window 开始");
}
@Override
public void beforeViewRemoveAnim(View view) {
//Logger.d(MODULE_NAME, "关闭 Window 开始");
// 重置场景提示的消息
setV2XMessageEntity(null);
V2XServiceManager.getMoGoV2XStatusManager().setLiveCarWindowShow(TAG, false);

View File

@@ -6,6 +6,7 @@ import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
@@ -19,7 +20,6 @@ import com.mogo.module.v2x.scenario.view.IV2XWindow;
import com.mogo.module.v2x.utils.MarkerUtils;
import com.mogo.module.v2x.view.V2XLiveGSYVideoView;
import com.mogo.service.imageloader.MogoImageView;
import com.mogo.utils.logger.Logger;
import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
@@ -27,20 +27,18 @@ import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
* author : donghongyu
* e-mail : 1358506549@qq.com
* date : 2020/4/24 11:34 AM
* desc : TODO 演示使用的推送单车机直播场景
* version: 1.0
*/
public class V2XPushLiveCarWindow extends V2XBasWindow implements IV2XWindow<V2XPushMessageEntity> {
private Context mContext;
private V2XLiveGSYVideoView mV2XLiveGSYVideoView;
private MogoImageView mIvReportHead;
private ImageView pushVideoClose;
// 弹窗状态监听
private V2XWindowStatusListener mV2XWindowStatusListener;
// 直播30秒自动关闭
private static Handler handlerV2XEvent = new Handler();
private static final Handler handlerV2XEvent = new Handler();
private static Runnable runnableV2XEvent;
public V2XPushLiveCarWindow() {
@@ -57,17 +55,18 @@ public class V2XPushLiveCarWindow extends V2XBasWindow implements IV2XWindow<V2X
public V2XPushLiveCarWindow(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
mContext = context;
initView(context);
}
public void initView(Context context) {
//Logger.w(MODULE_NAME, "初始化直播小窗口View。。。。。");
LayoutInflater.from(context).inflate(R.layout.item_v2x_push_live_video, this);
LayoutInflater.from(context).inflate(V2XServiceManager.getMoGoStatusManager().isVrMode()
? R.layout.item_v2x_push_live_video_vr
: R.layout.item_v2x_push_live_video, this);
// 详情列表
mV2XLiveGSYVideoView = findViewById(R.id.videoPlayer);
mIvReportHead = findViewById(R.id.ivReportHead);
pushVideoClose = findViewById(R.id.pushVideoClose);
ImageView pushVideoClose = findViewById(R.id.pushVideoClose);
pushVideoClose.setOnClickListener(v -> {
//移除窗体
V2XServiceManager
@@ -114,7 +113,7 @@ public class V2XPushLiveCarWindow extends V2XBasWindow implements IV2XWindow<V2X
mV2XWindowStatusListener.onViewClose();
}
// 停止倒计时
if (handlerV2XEvent != null && runnableV2XEvent != null) {
if (runnableV2XEvent != null) {
handlerV2XEvent.removeCallbacks(runnableV2XEvent);
runnableV2XEvent = null;
}

View File

@@ -14,6 +14,7 @@ import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.common.entity.V2XPushMessageEntity;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.utils.ToastUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceManager;
import com.mogo.service.statusmanager.StatusDescriptor;
@@ -52,7 +53,6 @@ public class V2XVoiceCallLiveBiz {
}
private Context mContext;
private V2XVoiceCallLiveScenario mV2XVoiceCallLiveScenario;
//语音词指令 查看前车视频回调
private final V2XVoiceCallbackListener v2XVoiceCallbackFrontLiveCarListener = (command, intent) -> {
@@ -106,8 +106,7 @@ public class V2XVoiceCallLiveBiz {
LiveStreamManagerImpl.getInstance(AbsMogoApplication.getApp(),
MoGoAiCloudClientConfig.getInstance().getThirdPartyDeviceId());
V2XMessageEntity<V2XPushMessageEntity> v2XMessageEntity = buildCallLiveParams(null, null);
mV2XVoiceCallLiveScenario = new V2XVoiceCallLiveScenario();
mV2XVoiceCallLiveScenario.setV2XWindow(new V2XVoiceCallLiveCarWindow());
V2XVoiceCallLiveScenario mV2XVoiceCallLiveScenario = new V2XVoiceCallLiveScenario();
mV2XVoiceCallLiveScenario.init(v2XMessageEntity);
}
@@ -121,11 +120,11 @@ public class V2XVoiceCallLiveBiz {
public void liveUrlResult(String liveUrl) {
if (!TextUtils.isEmpty(liveUrl)) {
V2XMessageEntity<V2XPushMessageEntity> v2XMessageEntity = buildCallLiveParams(null, liveUrl);
mV2XVoiceCallLiveScenario = new V2XVoiceCallLiveScenario();
mV2XVoiceCallLiveScenario.setV2XWindow(new V2XVoiceCrossRoadLiveWindow());
mV2XVoiceCallLiveScenario.init(v2XMessageEntity);
V2XPushLiveCarScenario pushLiveCarScenario = new V2XPushLiveCarScenario();
pushLiveCarScenario.init(v2XMessageEntity);
} else {
Logger.d(MODULE_NAME, "getOpenRoadCameraLive 路口实况直播地址为空");
ToastUtils.showShort(R.string.v2x_front_live_url_null);
}
}

View File

@@ -4,7 +4,6 @@ import android.content.Context;
import android.os.Handler;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.SurfaceView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
@@ -24,7 +23,10 @@ import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
public class V2XVoiceCallLiveCarWindow extends V2XBasWindow
implements IV2XWindow<V2XPushMessageEntity> {
private CarZegoLiveVideoView mV2XCarLiveVideoView;
private static final int COUNT_DOWN_TIMER = 1_000;
private static final int ALL_EXPIRE_TIMER = 1_000 * 30;
private static int EXPIRE_TIMER = ALL_EXPIRE_TIMER;
private TextView tvCountDown;
private ImageView ivVideoPlayingSign;
private boolean isVideoPlay = false;
@@ -32,13 +34,9 @@ public class V2XVoiceCallLiveCarWindow extends V2XBasWindow
// 处理道路事件30秒倒计时
private final Handler handlerV2XEvent = new Handler();
private Runnable runnableV2XEvent;
private static final int COUNT_DOWN_TIMER = 1_000;
private static final int ALL_EXPIRE_TIMER = 1_000 * 30;
private static int EXPIRE_TIMER = ALL_EXPIRE_TIMER;
public V2XVoiceCallLiveCarWindow() {
this(V2XServiceManager.getContext(), null);
Logger.d(MODULE_NAME, "V2XVoiceCallLiveCarWindow INIT");
}
public V2XVoiceCallLiveCarWindow(Context context, AttributeSet attrs) {
@@ -52,8 +50,10 @@ public class V2XVoiceCallLiveCarWindow extends V2XBasWindow
private void initView(Context context) {
Logger.w(MODULE_NAME, "V2X===初始化语音呼叫直播视图");
LayoutInflater.from(context).inflate(R.layout.window_see_carlive_video, this);
mV2XCarLiveVideoView = findViewById(R.id.videoPlayer);
LayoutInflater.from(context).inflate(V2XServiceManager.getMoGoStatusManager().isVrMode()
? R.layout.window_see_carlive_video_vr
: R.layout.window_see_carlive_video, this);
CarZegoLiveVideoView mV2XCarLiveVideoView = findViewById(R.id.videoPlayer);
tvCountDown = findViewById(R.id.tvCountDown);
ivVideoPlayingSign = findViewById(R.id.ivVideoPlayingSign);
mV2XCarLiveVideoView.addOnVideoStatusChangeListener(videoPlaying -> {
@@ -113,7 +113,6 @@ public class V2XVoiceCallLiveCarWindow extends V2XBasWindow
if (runnableV2XEvent == null) {
runnableV2XEvent = () -> {
EXPIRE_TIMER = EXPIRE_TIMER - COUNT_DOWN_TIMER;
Logger.d(MODULE_NAME, "V2X=== Window 30秒倒计时开始当前 " + EXPIRE_TIMER / COUNT_DOWN_TIMER + "");
tvCountDown.setVisibility(View.VISIBLE);
ivVideoPlayingSign.setVisibility(View.VISIBLE);
tvCountDown.setText(String.valueOf(EXPIRE_TIMER / COUNT_DOWN_TIMER));
@@ -126,12 +125,10 @@ public class V2XVoiceCallLiveCarWindow extends V2XBasWindow
} else {
handlerV2XEvent.removeCallbacks(runnableV2XEvent);
}
Logger.d(MODULE_NAME, "V2X=== Window 展示开始倒计时");
handlerV2XEvent.postDelayed(runnableV2XEvent, COUNT_DOWN_TIMER);
}
private void stopCountDown() {
Logger.d(MODULE_NAME, "V2X=== Window 倒计时停止。。。");
if (handlerV2XEvent != null && runnableV2XEvent != null) {
handlerV2XEvent.removeCallbacks(runnableV2XEvent);
runnableV2XEvent = null;

View File

@@ -1,7 +1,7 @@
package com.mogo.module.v2x.scenario.scene.livecar;
import android.view.View;
import android.widget.RelativeLayout;
import android.view.ViewGroup;
import androidx.annotation.Nullable;
@@ -20,27 +20,26 @@ import static com.mogo.module.v2x.V2XConst.MODULE_NAME;
/**
* author : unknown
* desc : 语音呼叫查看直播场景,包括车辆直播 或者 路口实况 window区分不同页面window逻辑实现
* desc : 语音呼叫查看直播场景,包括车辆直播 或者 路口实况 window区分不同页面window逻辑实现,前方直播车辆由AICloudSdk中实现上层仅传入SurfaceView和经纬度
*/
public class V2XVoiceCallLiveScenario extends AbsV2XScenario<V2XPushMessageEntity> implements IMogoTopViewStatusListener {
public V2XVoiceCallLiveScenario() {
setV2XWindow(new V2XVoiceCallLiveCarWindow());
}
@Override
public void init(@Nullable V2XMessageEntity<V2XPushMessageEntity> v2XMessageEntity) {
if (v2XMessageEntity == null) {
TipToast.shortTip("附近没有可直播车机");
return;
}
if (v2XMessageEntity.isShowState()) {
if (!isSameScenario(v2XMessageEntity)
&& V2XServiceManager.getMoGoStatusManager().isMainPageLaunched()) {
setV2XMessageEntity(v2XMessageEntity);
Logger.d(V2XConst.MODULE_NAME, "v2XMessageEntity : " + v2XMessageEntity + " getVideoSn : " + v2XMessageEntity.getContent().getVideoSn());
if (v2XMessageEntity != null) {
Logger.d(V2XConst.MODULE_NAME, "准备展示直播窗口");
show();
} else {
TipToast.shortTip("附近没有可直播车机");
Logger.e(V2XConst.MODULE_NAME, "直播地址为null");
}
Logger.d(V2XConst.MODULE_NAME, "v2XMessageEntity : " + v2XMessageEntity);
show();
} else {
setV2XMessageEntity(v2XMessageEntity);
Logger.w(V2XConst.MODULE_NAME, "要处理的场景已经存在,丢弃这次初始化");
@@ -64,11 +63,7 @@ public class V2XVoiceCallLiveScenario extends AbsV2XScenario<V2XPushMessageEntit
R.dimen.module_v2x_event_window_width_vr : R.dimen.module_v2x_event_window_width);
int height = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_see_live_window_height_vr : R.dimen.module_v2x_event_see_live_window_height);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(width, height);
layoutParams.topMargin = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_window_top_margin_vr : R.dimen.module_v2x_event_window_top_margin);
layoutParams.rightMargin = (int) V2XUtils.getApp().getResources().getDimension(V2XServiceManager.getMoGoStatusManager().isVrMode() ?
R.dimen.module_v2x_event_window_right_margin_vr : R.dimen.module_v2x_event_window_right_margin);
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams(width, height);
if (V2XServiceManager.getMoGoStatusManager().isVrMode()) {
V2XServiceManager
.getMogoTopViewManager()

View File

@@ -13,8 +13,6 @@ import android.widget.TextView;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.content.ContextCompat;
import com.mogo.cloud.live.manager.LiveStreamManagerImpl;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.cloud.trafficlive.api.ITrafficCarLiveCallBack;
import com.mogo.cloud.trafficlive.api.MoGoAiCloudTrafficLive;
import com.mogo.commons.AbsMogoApplication;
@@ -38,7 +36,6 @@ public class CarZegoLiveVideoView extends RoundLayout {
private SurfaceView mSurfaceView;
private ProgressBar mLoading;
private ConstraintLayout mClLoadError;
private TextView mTvRefreshButton;
private String liveSn;
// 重新刷新直播流
@@ -73,7 +70,7 @@ public class CarZegoLiveVideoView extends RoundLayout {
mLoading.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(context, R.color.live_video_progress_bar_loading_color), PorterDuff.Mode.MULTIPLY);
mClLoadError = findViewById(R.id.clLoadError);
mTvRefreshButton = findViewById(R.id.tvRefreshButton);
TextView mTvRefreshButton = findViewById(R.id.tvRefreshButton);
mTvRefreshButton.setOnClickListener(v -> {
mLoading.setVisibility(VISIBLE);
mClLoadError.setVisibility(GONE);

View File

@@ -57,7 +57,6 @@ public class V2XCrossRoadVideoView extends RoundLayout {
private final GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
private ProgressBar mLoading;
private ConstraintLayout mClLoadError;
private TextView mTvRefreshButton;
private boolean init = false;
private MarkerCarInfo.CarLiveInfo mCarLiveInfo;
@@ -83,6 +82,7 @@ public class V2XCrossRoadVideoView extends RoundLayout {
public V2XCrossRoadVideoView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
Logger.d(TAG, "constructor invoke initView");
initView(context);
}
@@ -101,7 +101,7 @@ public class V2XCrossRoadVideoView extends RoundLayout {
mLoading.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(context, R.color.live_video_progress_bar_loading_color), PorterDuff.Mode.MULTIPLY);
mClLoadError = findViewById(R.id.clLoadError);
mTvRefreshButton = findViewById(R.id.tvRefreshButton);
TextView mTvRefreshButton = findViewById(R.id.tvRefreshButton);
mTvRefreshButton.setOnClickListener(v -> {
mLoading.setVisibility(VISIBLE);
mClLoadError.setVisibility(GONE);
@@ -152,7 +152,6 @@ public class V2XCrossRoadVideoView extends RoundLayout {
* @param carLiveInfo 要直播的设备信息,如果没有直播的地址需要重新获取最新的直播地址
*/
public void startLive(MarkerCarInfo.CarLiveInfo carLiveInfo) {
initView(this.getContext());
// 进行直播播放
if (mTxcVideoView != null
&& carLiveInfo != null) {

View File

@@ -7,7 +7,6 @@ import android.os.Bundle;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
@@ -18,8 +17,6 @@ import com.mogo.commons.voice.AIAssist;
import com.mogo.module.common.entity.MarkerCarInfo;
import com.mogo.module.v2x.R;
import com.mogo.module.v2x.V2XServiceManager;
import com.mogo.module.v2x.entity.net.V2XLivePushVoRes;
import com.mogo.module.v2x.network.V2XRefreshCallback;
import com.mogo.module.v2x.utils.V2XUtils;
import com.mogo.module.v2x.voice.V2XVoiceCallbackListener;
import com.mogo.module.v2x.voice.V2XVoiceConstants;
@@ -50,16 +47,14 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
private ProgressBar mLoading;
private TXLivePlayer mLivePlayer;
private ConstraintLayout mClLoadError;
private TextView mTvRefreshButton;
private MogoSkinCompatBackgroundHelperDelegate mBackgroundTintHelper;
private final MogoSkinCompatBackgroundHelperDelegate mBackgroundTintHelper;
private MarkerCarInfo.CarLiveInfo mCarLiveInfo;
// 重新刷新直播流
private V2XVoiceCallbackListener v2XVoiceCallbackRefreshListener = new V2XVoiceCallbackListener() {
private final V2XVoiceCallbackListener v2XVoiceCallbackRefreshListener = new V2XVoiceCallbackListener() {
@Override
public void onCallback(String command, Intent intent) {
//startHeartLive(mCarLiveInfo);
mLoading.setVisibility(VISIBLE);
mClLoadError.setVisibility(GONE);
if (mCarLiveInfo != null) {
@@ -87,7 +82,7 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
private void initView(Context context) {
LayoutInflater.from(context)
.inflate(R.layout.view_video_layout_normal, this);
//mPlayerView 即 step1 中添加的界面 view
//mPlayerView 即 step1 中添加的界面 view
mTxcVideoView = findViewById(R.id.txcVideoView);
//创建 player 对象
mLivePlayer = new TXLivePlayer(context);
@@ -106,15 +101,12 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
mLoading.getIndeterminateDrawable().setColorFilter(ContextCompat.getColor(context, R.color.live_video_progress_bar_loading_color), PorterDuff.Mode.MULTIPLY);
mClLoadError = findViewById(R.id.clLoadError);
mTvRefreshButton = findViewById(R.id.tvRefreshButton);
mTvRefreshButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mLoading.setVisibility(VISIBLE);
mClLoadError.setVisibility(GONE);
if (mCarLiveInfo != null) {
startLive(mCarLiveInfo);
}
TextView mTvRefreshButton = findViewById(R.id.tvRefreshButton);
mTvRefreshButton.setOnClickListener(v -> {
mLoading.setVisibility(VISIBLE);
mClLoadError.setVisibility(GONE);
if (mCarLiveInfo != null) {
startLive(mCarLiveInfo);
}
});
}
@@ -141,33 +133,33 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
}
// 根据SN重新获取直播流地址
else {
V2XServiceManager
.getV2XRefreshModel()
.livePush(new V2XRefreshCallback<V2XLivePushVoRes>() {
@Override
public void onSuccess(V2XLivePushVoRes result) {
Logger.e(MODULE_NAME, "从服务端获取最新直播信息:" + GsonUtil.jsonFromObject(result));
mClLoadError.setVisibility(GONE);
mClLoadError.setVisibility(GONE);
try {
MarkerCarInfo.CarLiveInfo carRealLiveInfo = new MarkerCarInfo.CarLiveInfo();
carRealLiveInfo.setVideoUrl(result.getResult().getPlayUrl().getRtmp());
carRealLiveInfo.setVideoSn(carLiveInfo.getVideoSn());
carRealLiveInfo.setVideoChannel(result.getResult().getVideoChannel());
setCarLiveInfo(carLiveInfo);
playLiveVideo(carRealLiveInfo);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onFail(String msg) {
Logger.e(MODULE_NAME, "播放器:" + msg);
mLoading.setVisibility(GONE);
mClLoadError.setVisibility(VISIBLE);
}
}, carLiveInfo.getVideoSn(), 0);
// V2XServiceManager
// .getV2XRefreshModel()
// .livePush(new V2XRefreshCallback<V2XLivePushVoRes>() {
// @Override
// public void onSuccess(V2XLivePushVoRes result) {
// Logger.e(MODULE_NAME, "从服务端获取最新直播信息:" + GsonUtil.jsonFromObject(result));
// mClLoadError.setVisibility(GONE);
// mClLoadError.setVisibility(GONE);
// try {
// MarkerCarInfo.CarLiveInfo carRealLiveInfo = new MarkerCarInfo.CarLiveInfo();
// carRealLiveInfo.setVideoUrl(result.getResult().getPlayUrl().getRtmp());
// carRealLiveInfo.setVideoSn(carLiveInfo.getVideoSn());
// carRealLiveInfo.setVideoChannel(result.getResult().getVideoChannel());
// setCarLiveInfo(carLiveInfo);
// playLiveVideo(carRealLiveInfo);
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
//
// @Override
// public void onFail(String msg) {
// Logger.e(MODULE_NAME, "播放器:" + msg);
// mLoading.setVisibility(GONE);
// mClLoadError.setVisibility(VISIBLE);
// }
// }, carLiveInfo.getVideoSn(), 0);
}
}
}
@@ -223,7 +215,7 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
/**
* 刷新直播心跳
*
* @param carLiveInfo
* @param carLiveInfo 直播info
*/
private void startHeartLive(MarkerCarInfo.CarLiveInfo carLiveInfo) {
try {
@@ -248,20 +240,25 @@ public class V2XLiveGSYVideoView extends RoundLayout implements IMogoSkinCompatS
// true 代表清除最后一帧画面
mLivePlayer.stopPlay(true);
mTxcVideoView.onDestroy();
// 停止推流
V2XServiceManager
.getV2XRefreshModel()
.livePush(new V2XRefreshCallback<V2XLivePushVoRes>() {
@Override
public void onSuccess(V2XLivePushVoRes result) {
Logger.d(MODULE_NAME, "播放器:" + result);
}
@Override
public void onFail(String msg) {
Logger.e(MODULE_NAME, "播放器:" + msg);
}
}, carLiveInfo.getVideoSn(), 1);
// if (carLiveInfo.getVideoUrl() != null) {
// return;
// }
// 停止推流
// V2XServiceManager
// .getV2XRefreshModel()
// .livePush(new V2XRefreshCallback<V2XLivePushVoRes>() {
// @Override
// public void onSuccess(V2XLivePushVoRes result) {
// Logger.d(MODULE_NAME, "播放器:" + result);
// }
//
// @Override
// public void onFail(String msg) {
// Logger.e(MODULE_NAME, "播放器:" + msg);
// }
// }, carLiveInfo.getVideoSn(), 1);
} catch (Exception e) {
e.printStackTrace();
}