Newer
Older
Endoscope / app / src / main / java / com / casic / endoscope / view / FullScreenVideoActivity.kt
package com.casic.endoscope.view

import android.os.Bundle
import android.view.View
import com.casic.endoscope.R
import com.casic.endoscope.databinding.ActivityFullScreenVideoBinding
import com.casic.endoscope.extensions.initImmersionBar
import com.pengxh.kt.lite.base.KotlinBaseActivity
import com.pengxh.kt.lite.utils.Constant
import com.shuyu.gsyvideoplayer.GSYVideoManager
import com.shuyu.gsyvideoplayer.utils.OrientationUtils


class FullScreenVideoActivity : KotlinBaseActivity<ActivityFullScreenVideoBinding>() {

    private var orientationUtils: OrientationUtils? = null

    override fun initEvent() {

    }

    override fun initOnCreate(savedInstanceState: Bundle?) {
        val videoPath = intent.getStringExtra(Constant.INTENT_PARAM)
        binding.videoPlayer.setUp(videoPath, true, "")

        binding.videoPlayer.titleTextView.visibility = View.GONE
        binding.videoPlayer.fullscreenButton.visibility = View.GONE
        //设置旋转
        orientationUtils = OrientationUtils(this, binding.videoPlayer)
        //是否可以滑动调整
        binding.videoPlayer.setIsTouchWiget(true)

        //不需要屏幕旋转
        binding.videoPlayer.isNeedOrientationUtils = false
        binding.videoPlayer.startPlayLogic()

        binding.videoPlayer.backButton.setOnClickListener { onBackPressed() }
    }

    override fun initViewBinding(): ActivityFullScreenVideoBinding {
        return ActivityFullScreenVideoBinding.inflate(layoutInflater)
    }

    override fun observeRequestState() {

    }

    override fun setupTopBarLayout() {
        binding.rootView.initImmersionBar(this, false, R.color.black)
    }

    override fun onPause() {
        super.onPause()
        binding.videoPlayer.onVideoPause()
    }

    override fun onResume() {
        super.onResume()
        binding.videoPlayer.onVideoResume()
    }

    override fun onDestroy() {
        super.onDestroy()
        GSYVideoManager.releaseAllVideos()
        orientationUtils?.releaseListener()
    }

    @Deprecated("Deprecated in Java")
    override fun onBackPressed() {
        //释放所有
        binding.videoPlayer.setVideoAllCallBack(null)
        super.onBackPressed()
    }
}