尝试使用对话框制作全屏效果

问题描述 投票:0回答:0
class MainActivity : AppCompatActivity() {

   lateinit var fragRecordRvVideoBefore: PlayerView
    private lateinit var fullBefore: ImageView

    private lateinit var exoPlayer: ExoPlayer
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        Log.d("TEST_","onCreate")
        setContentView(R.layout.activity_main)
        fragRecordRvVideoBefore = findViewById(R.id.frag_record_rv_video_before)
        fullBefore = fragRecordRvVideoBefore.findViewById(R.id.exo_fullscreen_icon)

        val uu= "https://storage.googleapis.com/exoplayer-test-media-0/BigBuckBunny_320x180.mp4"


        fragRecordRvVideoBefore.player?.release()
        exoPlayer = ExoPlayer.Builder(fragRecordRvVideoBefore.context).build().also { it.playWhenReady = true }
        fragRecordRvVideoBefore.player = exoPlayer

        val uri2 = Uri.parse(uu)
        val dataSourceFactory = DefaultHttpDataSource.Factory()
        val mediaItem = MediaItem.fromUri(uri2)
        val videoSource = ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(mediaItem)

        exoPlayer.prepare(videoSource)
        exoPlayer.pause()


        fullBefore.setOnClickListener {
            val dialogView = LayoutInflater.from(this).inflate(R.layout.full_screen, null)
            val dialogPlayerView: PlayerView = dialogView.findViewById(R.id.full_screen_player)

            val dialog = AlertDialog.Builder(this)
                .setView(dialogView)
                .create()

            dialogPlayerView.player = exoPlayer // Set the existing exoPlayer to dialogPlayerView
            dialog.show()
        }
    }

}

尝试使用dialog来做全屏效果,但是关闭dialog后,原来的playerview在dialog显示的那一刻就冻结了,但是controlview仍然有效

android kotlin dialog exoplayer
© www.soinside.com 2019 - 2024. All rights reserved.