From cc2edc49367cbfeb645fcee19e70f103b9d207fc Mon Sep 17 00:00:00 2001 From: lineagett Date: Wed, 24 Aug 2022 23:36:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=86=E8=BE=A8=E7=8E=87?= =?UTF-8?q?=E3=80=81=E6=97=B6=E9=97=B4=E5=8F=8A=E7=BC=93=E5=86=B2=E9=80=9F?= =?UTF-8?q?=E5=BA=A6=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../osc/player/controller/VodController.java | 39 ++++++++++++ .../github/tvbox/osc/util/PlayerHelper.java | 9 +++ .../res/layout/player_vod_control_view.xml | 61 ++++++++++++++++++- 3 files changed, 106 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/github/tvbox/osc/player/controller/VodController.java b/app/src/main/java/com/github/tvbox/osc/player/controller/VodController.java index 83753eb0..0d2528fa 100644 --- a/app/src/main/java/com/github/tvbox/osc/player/controller/VodController.java +++ b/app/src/main/java/com/github/tvbox/osc/player/controller/VodController.java @@ -31,8 +31,11 @@ import org.jetbrains.annotations.NotNull; import org.json.JSONException; import org.json.JSONObject; +import java.text.SimpleDateFormat; import java.util.List; +import java.util.Date; + import xyz.doikki.videoplayer.player.VideoView; import xyz.doikki.videoplayer.util.PlayerUtils; @@ -101,11 +104,35 @@ public class VodController extends BaseController { TextView mPlayerTimeStartBtn; TextView mPlayerTimeSkipBtn; TextView mPlayerTimeStepBtn; + TextView mPlayPauseTime; + TextView mPlayLoadNetSpeed; + TextView mVideoSize; Handler myHandle; Runnable myRunnable; int myHandleSeconds = 6000;//闲置多少毫秒秒关闭底栏 默认6秒 + private Runnable myRunnable2 = new Runnable() { + @Override + public void run() { + Date date = new Date(); + SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + mPlayPauseTime.setText(timeFormat.format(date)); + + mPlayLoadNetSpeed.setText(PlayerHelper.getDisplaySpeed(mControlWrapper.getTcpSpeed())); + + String width = Integer.toString(mControlWrapper.getVideoSize()[0]); + String height = Integer.toString(mControlWrapper.getVideoSize()[1]); + mVideoSize.setText("[ " + width + " X " + height +" ]"); + + mHandler.postDelayed(this, 1000); + } + }; + + + + + @Override protected void initView() { super.initView(); @@ -130,6 +157,9 @@ public class VodController extends BaseController { mPlayerTimeStartBtn = findViewById(R.id.play_time_start); mPlayerTimeSkipBtn = findViewById(R.id.play_time_end); mPlayerTimeStepBtn = findViewById(R.id.play_time_step); + mPlayPauseTime = findViewById(R.id.tv_sys_time); + mPlayLoadNetSpeed = findViewById(R.id.tv_play_load_net_speed); + mVideoSize = findViewById(R.id.tv_videosize); myHandle=new Handler(); myRunnable = new Runnable() { @@ -139,6 +169,13 @@ public class VodController extends BaseController { } }; + mPlayPauseTime.post(new Runnable() { + @Override + public void run() { + mHandler.post(myRunnable2); + } + }); + mGridView.setLayoutManager(new V7LinearLayoutManager(getContext(), 0, false)); ParseAdapter parseAdapter = new ParseAdapter(); parseAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { @@ -601,9 +638,11 @@ public class VodController extends BaseController { break; case VideoView.STATE_PREPARED: case VideoView.STATE_BUFFERED: + mPlayLoadNetSpeed.setVisibility(GONE); break; case VideoView.STATE_PREPARING: case VideoView.STATE_BUFFERING: + mPlayLoadNetSpeed.setVisibility(VISIBLE); break; case VideoView.STATE_PLAYBACK_COMPLETED: listener.playNext(true); diff --git a/app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java b/app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java index 0f0624a7..4f744a3a 100644 --- a/app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java +++ b/app/src/main/java/com/github/tvbox/osc/util/PlayerHelper.java @@ -184,4 +184,13 @@ public class PlayerHelper { } return scaleText; } + + public static String getDisplaySpeed(long speed) { + if(speed > 1048576) + return (speed / 1048576) + "MB/s"; + else if(speed > 1024) + return (speed / 1024) + "KB/s"; + else + return speed + "B/s"; + } } diff --git a/app/src/main/res/layout/player_vod_control_view.xml b/app/src/main/res/layout/player_vod_control_view.xml index 1141c350..50699c2d 100644 --- a/app/src/main/res/layout/player_vod_control_view.xml +++ b/app/src/main/res/layout/player_vod_control_view.xml @@ -293,15 +293,57 @@ android:visibility="gone" tools:visibility="visible"> - + + + + + + + + + @@ -400,4 +442,17 @@ android:tag="vod_control_loading" android:visibility="gone" /> + +