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" /> + +