如何使用数据绑定实现ExoPlayer?

问题描述 投票:0回答:1

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

它实际上是一个关于here的公开问题,但还有待解决。那么有没有人有一个解决方法来使exo_player_control_view数据绑定友好?

android data-binding kotlin exoplayer exoplayer2.x
1个回答
0
投票

您可以在片段/活动中使用绑定变量来访问片段/活动内的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
© www.soinside.com 2019 - 2024. All rights reserved.