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仍然有效