如何通过数据绑定实现 ExoPlayer?

mus*_*off 5 data-binding android kotlin exoplayer exoplayer2.x

我有一个类activity_player布局,exoplayer2.ui.PlayerView我在其中创建了它exo_player_control_view,以便它覆盖 ExoPlayer 中的默认控件。所以我想在新创建的自定义控件视图中使用数据绑定,但不知道该怎么做。有什么建议吗?

这实际上是一个悬而未决的问题,但尚未解决。那么是否有人有解决方法来使exo_player_control_view数据绑定变得友好?

Abr*_*hew -2

您可以使用片段/活动内的绑定变量来访问片段/活动内的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
Run Code Online (Sandbox Code Playgroud)