问题描述
教程活动
private lateinit var youTubeView: YouTubePlayerFragment
private lateinit var player : YouTubePlayer
oncreate(){
initEvent()
}
private fun initEvent() {
try{
youTubeView = getFragmentManager().findFragmentById(R.id.vTutorial) as YouTubePlayerFragment
initializeYouTube()
binding.btnPlayTutorial.setonClickListener {
if(this::player.isInitialized){
binding.ivPlayTutorialThumbnail.hide()
binding.btnPlayTutorial.hide()
player.loadVideo(data.url)
}}
}
catch (e : IllegalStateException){ }
}
private fun initializeYouTube() {
binding.ivPlayTutorialThumbnail.show()
binding.btnPlayTutorial.show()
try{
youTubeView.initialize("API_key",object : OnInitializedListener {
override fun onInitializationSuccess(
provider: YouTubePlayer.Provider,youTubePlayer: YouTubePlayer,b: Boolean
) {
player = youTubePlayer
player.fullscreenControlFlags = FULLSCREEN_FLAG_CONTROL_SYstem_UI
player.setonFullscreenListener { p0 -> fullScreen = p0 }
// do any work here to cue video,play video,etc.
}
override fun onInitializationFailure(
provider: YouTubePlayer.Provider,youTubeInitializationResult: YouTubeInitializationResult
) {
AppUtils.eLog("youtube",youTubeInitializationResult.name)
}
})
} catch (e: IllegalStateException){
}
}
override fun onResume() {
super.onResume()
try {
if(this::player.isInitialized) {
player.currentTimeMillis
}
}
catch (e: IllegalStateException){
initializeYouTube()
}
}
教程activity.xml
<RelativeLayout
android:id="@+id/llTutorial"
android:layout_width="match_parent"
android:layout_height="@dimen/_190sdp"
android:layout_margin="@dimen/_10sdp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/toolBarLayout">
<fragment
android:id="@+id/vTutorial"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:name="com.google.android.youtube.player.YouTubePlayerFragment">
</fragment>
当我播放视频时,视频播放中有 youtube 文本,当我单击该文本时,youtube 应用程序打开并播放该视频,当我按下返回时,我回到我的应用程序,这很好
但是当我点击 youtube 文本并转到 youtube 应用程序,然后我杀死 youtube 应用程序并从后台打开我的应用程序时,youtubeplayer 已发布
我该怎么办
如果 player.currentTimeMillis 返回异常,我尝试在恢复时再次初始化 youtube 并转到 catch 块,然后我再次调用 initializeYouTube() 以再次初始化播放器,但在 youtubeview.intialize 中出现此错误
java.lang.IllegalStateException: Not connected. Call connect() and wait for onConnected() to be called.
at com.google.android.youtube.player.internal.r.i(UnkNown Source:11)
at com.google.android.youtube.player.internal.o.k(UnkNown Source:0)
at com.google.android.youtube.player.internal.o.a(UnkNown Source:0)
at com.google.android.youtube.player.internal.ac.a(UnkNown Source:0)
at com.google.android.youtube.player.YouTubePlayerView.a(UnkNown Source:8)
at com.google.android.youtube.player.YouTubePlayerView$1.a(UnkNown Source:12)
at com.google.android.youtube.player.internal.r.g(UnkNown Source:73)
at com.google.android.youtube.player.internal.r$c.a(UnkNown Source:64)
at com.google.android.youtube.player.internal.r$b.a(UnkNown Source:4)
at com.google.android.youtube.player.internal.r$a.handleMessage(UnkNown Source:98)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7562)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
如果我通过单击视频播放中的 youtube 文本进入 youtube 应用程序并关闭 youtube 应用程序并从后台打开我的应用程序并在停止的地方播放该视频,我该怎么办
请推荐最佳方法
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)