微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

youtubeplayer 已发布,当我从 youtubeplayer 转到 youtube 并杀死 youtube 应用程序并返回到我的应用程序时

如何解决youtubeplayer 已发布,当我从 youtubeplayer 转到 youtube 并杀死 youtube 应用程序并返回到我的应用程序时

教程活动


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 举报,一经查实,本站将立刻删除。