【问题标题】:How to play multiple videos in YouTube Player API?如何在 YouTube Player API 中播放多个视频?
【发布时间】:2017-08-20 00:39:12
【问题描述】:

我正在尝试使用 Android Studio 中的 YouTube Player API 播放来自 YouTube 的一些视频。我有视频标题名称的不同字符串中每个视频的视频 ID。现在我希望播放器在单击每个带有视频标题的按钮时播放视频。

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
    if (!wasRestored) {
        player.cueVideo("my_video_id_1");
    }
}

使用此方法,我不知道如何在单击第二个按钮以在同一播放器中播放第二个视频时“更改字符串名称”。

非常感谢任何答案!

【问题讨论】:

  • 请提供更多代码。就像您使用的代码“当每个带有视频标题的按钮被点击时”
  • 点击每个按钮时,我有多个视频 ID 要在单个播放器中播放。如何更改 player.cueVideo(video_id_using_string) @Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { if (!wasRestored) { player.cueVideo(string_name_1); 中的视频 ID } }
  • 我要的是写在 your_button.setOnClickListener 中的代码
  • @SabithPkcMnr 您使用的是 YouTubePlayerView 还是 YouTubePlayerFragment?
  • 我正在使用 YouTubePlaterView

标签: android string video youtube youtube-api


【解决方案1】:

首先,声明一个 YouTubePlayer 实例并在 onCreate 初始化您的 YouTubePlayerView。

private YouTubePlayer youTubePlayer;


@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
    if (!wasRestored) {
      if(youTubePlayer == null){
        youTubePlayer = player;
      }
    }
}

现在,提供每个按钮监听器对应的视频 ID。

    switch (btnId) {
        case R.id.btnOne:
            playVideo("my_video_id_1");
            break;
        case R.id.btnTwo:
            playVideo("my_video_id_2");
            break;
        case R.id.btnThree:
            playVideo("my_video_id_3");
            break;

        default:
            break;
    }

最后,播放视频

private void playVideo(String videoId){
    if(youTubePlayer != null){
        youTubePlayer.loadVideo(videoId);
    }
}

【讨论】:

  • 开关放在哪里?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-17
  • 2015-12-31
  • 1970-01-01
  • 2014-02-11
  • 2017-09-20
  • 2017-05-19
  • 2014-01-05
相关资源
最近更新 更多