视频播放器UI

This commit is contained in:
liujing
2021-11-03 20:57:32 +08:00
parent 76d07d4a5c
commit beddeb16f8
3 changed files with 125 additions and 9 deletions

View File

@@ -2,7 +2,6 @@ package com.mogo.eagle.core.function.hmi.ui.notice;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
@@ -18,12 +17,13 @@ import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData;
import com.mogo.eagle.core.function.api.notice.NoticeNetCallBack;
import com.mogo.eagle.core.function.call.notice.CallerNoticeManager;
import com.mogo.eagle.core.function.hmi.R;
import com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer;
import com.mogo.eagle.core.widget.media.video.NoticeSimpleVideoPlayer;
import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.dialog.BaseFloatDialog;
import com.mogo.service.imageloader.MogoImageView;
import com.mogo.utils.BitmapHelper;
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack;
import com.shuyu.gsyvideoplayer.video.base.GSYVideoView;
/**
@@ -35,7 +35,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
private String TAG = "AINotice";
private Context mContext;
private RecyclerView mRecyclerView;
private SimpleVideoPlayer mVideoPlayer;
private NoticeSimpleVideoPlayer mVideoPlayer;
private NoticeTrafficStylePushData mPushData;
private ImageView close;
private ImageView playImageView;
@@ -53,9 +53,9 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
//图片
String image = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201609%2F26%2F20160926081306_GM2tv.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1638511084&t=92def7498b526dcba3fceda17c43fcb8";
String video = "https://vd2.bdstatic.com/mda-mk1347dzxdmcre0y/sc/cae_h264/1635819498112313003/mda-mk1347dzxdmcre0y.mp4?v_from_s=hkapp-haokan-tucheng&auth_key=1635837585-0-0-5295f6658c7711ba7b4d3ef478a7fbaa&bcevod_channel=searchbox_feed&pd=1&pt=3&abtest=";
mPushData.setPoiImgUrl(image);
mPushData.setType(0);
mPushData.setInfoId("905456829553946624");
mPushData.setPoiImgUrl(video);
mPushData.setType(1);
mPushData.setInfoId("905543067497902080");
initView();
}
@@ -208,12 +208,118 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
mVideoPlayer.getStartButton().performClick();
thumbnailImage.setVisibility(View.GONE);
playImageView.setVisibility(View.GONE);
liveCallBack();
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void liveCallBack() {
new Thread(new Runnable() {
@Override
public void run() {
Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(mPushData.getPoiImgUrl());/*获取第一帧图*/
mVideoPlayer.setVideoAllCallBack(new VideoAllCallBack() {
@Override
public void onAutoComplete(String url, Object... objects) {
complete(firstBitmap);
}
@Override
public void onClickResume(String url, Object... objects) {
thumbnailImage.setVisibility(View.GONE);
playImageView.setVisibility(View.GONE);
}
@Override
public void onClickStop(String url, Object... objects) {
Log.d(TAG, "onClickStop");
}
@Override
public void onStartPrepared(String url, Object... objects) {
Log.d(TAG, "onStartPrepared");
}
@Override
public void onPrepared(String url, Object... objects) {
}
@Override
public void onClickStartIcon(String url, Object... objects) {
}
@Override
public void onClickStartError(String url, Object... objects) {
}
@Override
public void onClickStopFullscreen(String url, Object... objects) {
}
@Override
public void onClickResumeFullscreen(String url, Object... objects) {
}
@Override
public void onClickSeekbar(String url, Object... objects) {
}
@Override
public void onClickSeekbarFullscreen(String url, Object... objects) {
}
@Override
public void onEnterFullscreen(String url, Object... objects) {
}
@Override
public void onQuitFullscreen(String url, Object... objects) {
}
@Override
public void onQuitSmallWidget(String url, Object... objects) {
}
@Override
public void onEnterSmallWidget(String url, Object... objects) {
}
@Override
public void onTouchScreenSeekVolume(String url, Object... objects) {
}
@Override
public void onTouchScreenSeekPosition(String url, Object... objects) {
}
@Override
public void onTouchScreenSeekLight(String url, Object... objects) {
}
@Override
public void onPlayError(String url, Object... objects) {
}
@Override
public void onClickStartThumb(String url, Object... objects) {
}
@Override
public void onClickBlank(String url, Object... objects) {
}
@Override
public void onClickBlankFullscreen(String url, Object... objects) {
Log.d(TAG, "onClickBlankFullscreen");
}
});
}
}).start();
}
public void cancel() {
}

View File

@@ -31,7 +31,7 @@
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<!--图/视频-->
<com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer
<com.mogo.eagle.core.widget.media.video.NoticeSimpleVideoPlayer
android:id="@+id/video_player"
android:layout_width="0dp"
android:layout_height="@dimen/notice_traffic_acc_image_height"