【问题标题】:Hide related videos at the end of youtube video using Youtube sdk android使用 Youtube sdk android 在 youtube 视频末尾隐藏相关视频
【发布时间】:2020-06-28 06:53:48
【问题描述】:

我正在使用 youtube sdk 显示 Youtube 视频的 android 应用程序。我想隐藏视频末尾的建议。我已经实现了YouTubePlayer.PlayerStyle.MINIMAL,它隐藏了所有按钮,但视频末尾仍然有推荐/建议。我正在使用YouTubeAndroidPlayerApi.jar

我的代码如下,请指导我解决这个问题。谢谢

class YoutubeActivity : AppCompatActivity(), YouTubePlayer.OnInitializedListener {

    private var videoId: String = ""

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_youtube)

        videoId = intent.getStringExtra("videoId")

        val youTubePlayerFragment = supportFragmentManager.findFragmentById(R.id.official_player_view) as YouTubePlayerSupportFragment?
        youTubePlayerFragment?.initialize(getString(R.string.youtube_apikey), this)
    }

    override fun onInitializationSuccess(provider: YouTubePlayer.Provider, youTubePlayer: YouTubePlayer, wasRestored: Boolean) {
        if (!wasRestored) {
            youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.MINIMAL)
            youTubePlayer.setFullscreen(true)
            youTubePlayer.loadVideo(videoId, 1)
            youTubePlayer.setShowFullscreenButton(false)
        }
    }

    override fun onInitializationFailure(provider: YouTubePlayer.Provider, youTubeInitializationResult: YouTubeInitializationResult) {
        if (youTubeInitializationResult.isUserRecoverableError) {
            youTubeInitializationResult.getErrorDialog(this, YouTube.RECOVERY_DIALOG_REQUEST).show()
        } else {
            val errorMessage = String.format(
                    "There was an error initializing the YouTubePlayer (%1\$s)",
                    youTubeInitializationResult.toString()
            )
            Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show()
        }
    }
}

我的 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/colorPrimary"
    tools:context=".components.tutorial.fragments.YoutubeActivity">

    <fragment
        android:id="@+id/official_player_view"
        android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

【问题讨论】:

标签: android youtube youtube-api


【解决方案1】:

正如 770grappenmaker 在答案中建议的那样,我尝试了解决方法。所以无论如何有人找不到任何解决方案,他们可以尝试这种解决方法。

在您的 onInitializationSuccess 方法中实现 PlayerStateChangeListener 并在 onVideoEnded 方法中将视频带回起点并暂停它。(以下是我在 Kotlin 语言中的实现)

override fun onInitializationSuccess(
            p0: YouTubePlayer.Provider?,
            p1: YouTubePlayer?,
            p2: Boolean) {
            p1!!.loadVideo(videoData.videolink)
            p1.setPlayerStateChangeListener(object:YouTubePlayer.PlayerStateChangeListener{
                override fun onLoading() {}
                override fun onLoaded(p0: String?) {}
                override fun onAdStarted() {}
                override fun onVideoStarted() {}
                override fun onVideoEnded() {
                    p1.seekToMillis(0)
                    p1.pause()
                }
                override fun onError(p0: YouTubePlayer.ErrorReason?) {}

            })
        }

【讨论】:

    【解决方案2】:

    您可以尝试添加一个 YouTubePlayer。 PlayerStateChangeListener,添加onVideoEnded()方法,放置youtubePlayer.seekToMillis(0) 我不确定它是否会起作用,我从未在 Android 上使用过这个库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-19
      • 2020-06-30
      • 1970-01-01
      • 2020-04-07
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      相关资源
      最近更新 更多