我正在尝试实现 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