Как реализовать ExoPlayer с привязкой данных? - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть макет класса activity_player, в котором у меня есть exoplayer2.ui.PlayerView, и я создал exo_player_control_view, чтобы он переопределял элементы управления по умолчанию в ExoPlayer.Поэтому я хотел использовать привязку данных во вновь созданном пользовательском представлении управления, но не знаю, как это сделать.Любой совет?

Это на самом деле открытый вопрос по здесь , но еще не решен.Так есть ли кто-нибудь, кто мог бы обойтись без exo_player_control_view привязки данных?

1 Ответ

0 голосов
/ 18 февраля 2019

Вы можете использовать переменную связывания внутри фрагмента / действия для доступа к 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...