From 0f07736d1eda69cb8966cbbadc9b86a5c4c17877 Mon Sep 17 00:00:00 2001 From: maxinyu Date: Wed, 10 Jun 2026 11:20:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B1=8F=E8=A7=86=E9=A2=91=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../defenseapplication/home/StartActivity.kt | 5 ++ .../liveVideo/AlarmLogActivity.kt | 5 ++ .../view/MyGSYVideoPlayerLive.kt | 65 ++++++++++++++++ app/src/main/res/layout/layout_my_player.xml | 70 ++++++++++++++++++ app/src/main/res/mipmap-xhdpi/ky.png | Bin 0 -> 4113 bytes app/src/main/res/mipmap-xhdpi/qiang.png | Bin 0 -> 4610 bytes app/src/main/res/mipmap-xhdpi/vide_back.png | Bin 0 -> 2747 bytes 7 files changed, 145 insertions(+) create mode 100644 app/src/main/res/layout/layout_my_player.xml create mode 100644 app/src/main/res/mipmap-xhdpi/ky.png create mode 100644 app/src/main/res/mipmap-xhdpi/qiang.png create mode 100644 app/src/main/res/mipmap-xhdpi/vide_back.png diff --git a/app/src/main/java/com/example/defenseapplication/home/StartActivity.kt b/app/src/main/java/com/example/defenseapplication/home/StartActivity.kt index dce7af9..5574de6 100644 --- a/app/src/main/java/com/example/defenseapplication/home/StartActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/home/StartActivity.kt @@ -9,6 +9,7 @@ import com.example.defenseapplication.databinding.ActivityStartBinding import com.example.defenseapplication.login.LoginActivity import com.example.defenseapplication.utils.ApiConfig import com.example.defenseapplication.utils.UserinfoUtil +import com.gyf.immersionbar.ImmersionBar class StartActivity : AppCompatActivity() { private lateinit var binding: ActivityStartBinding @@ -17,6 +18,10 @@ class StartActivity : AppCompatActivity() { super.onCreate(savedInstanceState) binding = ActivityStartBinding.inflate(layoutInflater) setContentView(binding.root) + ImmersionBar.with(this) + .statusBarDarkFont(true) + .titleBar(null) + .init() // 延迟2秒后再判断登录状态 Handler(Looper.getMainLooper()).postDelayed({ diff --git a/app/src/main/java/com/example/defenseapplication/liveVideo/AlarmLogActivity.kt b/app/src/main/java/com/example/defenseapplication/liveVideo/AlarmLogActivity.kt index 2c16f0a..f848120 100644 --- a/app/src/main/java/com/example/defenseapplication/liveVideo/AlarmLogActivity.kt +++ b/app/src/main/java/com/example/defenseapplication/liveVideo/AlarmLogActivity.kt @@ -23,6 +23,7 @@ import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer import com.bigkoo.pickerview.builder.TimePickerBuilder import com.bigkoo.pickerview.listener.OnTimeSelectListener import com.example.defenseapplication.view.MyGSYVideoPlayer +import com.gyf.immersionbar.ImmersionBar import com.shuyu.gsyvideoplayer.GSYVideoManager import kotlinx.coroutines.launch import java.text.SimpleDateFormat @@ -48,6 +49,10 @@ class AlarmLogActivity : AppCompatActivity() { super.onCreate(savedInstanceState) binding = AlarmLogActivityBinding.inflate(layoutInflater) setContentView(binding.root) + ImmersionBar.with(this) + .statusBarDarkFont(true) + .titleBar(null) + .init() audioManager = getSystemService(Context.AUDIO_SERVICE) as AudioManager deviceId = intent.getStringExtra("device_id") diff --git a/app/src/main/java/com/example/defenseapplication/view/MyGSYVideoPlayerLive.kt b/app/src/main/java/com/example/defenseapplication/view/MyGSYVideoPlayerLive.kt index 80e6b57..4e5dbb8 100644 --- a/app/src/main/java/com/example/defenseapplication/view/MyGSYVideoPlayerLive.kt +++ b/app/src/main/java/com/example/defenseapplication/view/MyGSYVideoPlayerLive.kt @@ -2,8 +2,11 @@ package com.example.defenseapplication.view import android.content.Context import android.util.AttributeSet +import android.view.LayoutInflater import android.view.View +import com.example.defenseapplication.R import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer +import com.shuyu.gsyvideoplayer.video.base.GSYBaseVideoPlayer class MyGSYVideoPlayerLive @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null @@ -17,4 +20,66 @@ class MyGSYVideoPlayerLive @JvmOverloads constructor( override fun updateStartImage() { startButton.visibility = View.GONE } + override fun startWindowFullscreen( + context: Context?, + actionBar: Boolean, + statusBar: Boolean + ): GSYBaseVideoPlayer { + + val player = super.startWindowFullscreen( + context, + actionBar, + statusBar + ) as MyGSYVideoPlayerLive + + // 隐藏GSY自带UI + player.backButton.visibility = View.GONE + player.titleTextView.visibility = View.GONE + player.startButton.visibility = View.GONE + player.fullscreenButton.visibility = View.GONE + + player.findViewById( + com.shuyu.gsyvideoplayer.R.id.current + )?.visibility = View.GONE + + player.findViewById( + com.shuyu.gsyvideoplayer.R.id.total + )?.visibility = View.GONE + + player.findViewById( + com.shuyu.gsyvideoplayer.R.id.progress + )?.visibility = View.GONE + + player.findViewById( + com.shuyu.gsyvideoplayer.R.id.layout_bottom + )?.visibility = View.GONE + + player.findViewById( + com.shuyu.gsyvideoplayer.R.id.layout_top + )?.visibility = View.GONE + + // 加载你的全屏覆盖层 + val overlay = LayoutInflater.from(context) + .inflate( + R.layout.layout_my_player, + player, + false + ) + + player.addView(overlay) + + // 找按钮 + overlay.findViewById(R.id.btnAi) + ?.setOnClickListener { + + } + + overlay.findViewById(R.id.btnCapture) + ?.setOnClickListener { + + } + + return player + } + } \ No newline at end of file diff --git a/app/src/main/res/layout/layout_my_player.xml b/app/src/main/res/layout/layout_my_player.xml new file mode 100644 index 0000000..a449dc7 --- /dev/null +++ b/app/src/main/res/layout/layout_my_player.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/ky.png b/app/src/main/res/mipmap-xhdpi/ky.png new file mode 100644 index 0000000000000000000000000000000000000000..41933e9f1d0718b9148272edd8a89e86f70b328f GIT binary patch literal 4113 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 a3*hr4#Qkj@`037nxs`>zdFd%{)_(xj&SnAt literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xhdpi/qiang.png b/app/src/main/res/mipmap-xhdpi/qiang.png new file mode 100644 index 0000000000000000000000000000000000000000..f0008b470eca090bd2e9d2b975dd5041bf246955 GIT binary patch literal 4610 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 NNzQJ>a!2a1e*iqDxorRd literal 0 HcmV?d00001