我有一个类activity_player
布局,其中我有exoplayer2.ui.PlayerView
,我创建了exo_player_control_view
,以便它覆盖ExoPlayer中的默认控件。所以我想在新创建的自定义控件视图中使用Databinding,但不知道如何操作。有什么建议?
它实际上是一个关于here的公开问题,但还有待解决。那么有没有人有一个解决方法来使exo_player_control_view
数据绑定友好?
您可以在片段/活动中使用绑定变量来访问片段/活动内的playerView
val uri: Uri? = if (url is String) Uri.parse(url as String?) else url as Uri?
val trackSelector =
DefaultTrackSelector(AdaptiveTrackSelection.Factory(DefaultBandwidthMeter()))
val player: SimpleExoPlayer = ExoPlayerFactory.newSimpleInstance(view.context, trackSelector)
val dataSourceFactory = DefaultDataSourceFactory(view.context, "ua")
val mediaSource =
ExtractorMediaSource(uri, dataSourceFactory, DefaultExtractorsFactory(), null, null)
player.prepare(mediaSource)
player.apply {
volume = 0f
repeatMode = Player.REPEAT_MODE_ONE
playWhenReady = true
videoScalingMode = C.VIDEO_SCALING_MODE_SCALE_TO_FIT
}
binding.playerView.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FILL)
binding.playerView.player = player