1

我正在尝试实现 PierfrancescoSoffritti youtube Player,但我遇到了播放器回调 OnReady 永远不会被调用的问题

这是我的代码我不知道这里有什么问题

  <com.pierfrancescosoffritti.androidyoutubeplayer.core.player.views.YouTubePlayerView
        android:id="@+id/player_youtube"
        android:keepScreenOn="true"
        app:showYouTubeButton="false"
        android:layout_gravity="center"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

这是XML

这是我的 kotlin 实现我正在将视频 ID 动态加载到播放器

viewModel.playYoutube.observe(this, EventObserver {

        with(binding.playerYoutube) {
            lifecycle.addObserver(this)
            isVisible = true
            addFullScreenListener(this@MyCourseActivity)
        }
        setYoutubePlayer(viewModel.youtubeUrl!!)
    })
}

private fun setYoutubePlayer(youtubeUrl: String) {
    if (::youtubePlayer.isInitialized) {
        val id = getYoutubeVideoId(youtubeUrl)
        youtubePlayer.loadVideo(id, 0f)
    }
    binding.playerYoutube.addYouTubePlayerListener(object : AbstractYouTubePlayerListener() {

        override fun onCurrentSecond(youTubePlayer: YouTubePlayer, second: Float) {
            super.onCurrentSecond(youTubePlayer, second)
            Timber.d("onCurrentSecond %s ",second)
        }

        override fun onReady(youTubePlayer: YouTubePlayer) {
            Timber.d("onReady called YouTube")
            youtubePlayer = youTubePlayer
            youtubePlayer.addListener(tracker)
            val id = getYoutubeVideoId(youtubeUrl)
            youTubePlayer.loadVideo(id,  0f)
        }
    })

    Timber.d("tracker state %s",tracker.state)
    Timber.d("tracker state %s",tracker.currentSecond)
    Timber.d("tracker state %s",tracker.videoDuration)
    Timber.d("tracker state %s",tracker.videoId)
}

我正在使用 kotlin 和 androidX 依赖项请指导我为什么播放器不工作

我收到的州是->

tracker state UNKNOWN
tracker state 0.0
tracker state 0.0
tracker state null
4

0 回答 0