如何停止播放 YouTube 视频

mar*_*rop 2 java youtube android youtube-api

大家好,正在使用 android 版的 youtube api。我已经把一切都设置好了并且可以工作了。我使用我的 firebase 数据库以列表的形式将所有相关信息发送到我的应用程序。列表显示一切都很好,视频从列表中播放。并进入全屏,好吧..但如果我想在没有任何反应后单击列表中的另一个视频。所以我想我必须停止并清除我的 YouTubePlayerView 但我不知道该怎么做

这就是我从 firebase 获取字符串的方式

 Dl_Strings dlStrings = dataSnapshot.getValue(Dl_Strings.class);
        Downloadscount.add(" " + String.valueOf(dlStrings.downloads));
        AppNameList.add(dlStrings.name);
        urlList.add(dlStrings.url);
Run Code Online (Sandbox Code Playgroud)

这是我获取网址并将其添加到我的 YouTube 播放器的地方

mlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {


            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                urlmain = urlList.get(i).toString();
                tag = TAGGER.get(i).toString();


                App_DownLoadCounter();
                YouTubePlayerView myoutubeplayerView = (YouTubePlayerView) ((Activity)mContext).findViewById(R.id.youtube);

                YouTubePlayer.OnInitializedListener mOninitial;

                mOninitial = new YouTubePlayer.OnInitializedListener() {
                    @Override
                    public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                        youTubePlayer.loadVideo(urlmain);
                    }

                    @Override
                    public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {

                    }
                };
Run Code Online (Sandbox Code Playgroud)

Pie*_*tti 5

我认为您的代码片段中缺少部分代码,但这就是为什么它不起作用的原因:

YouTube 播放器只需初始化一次。loadVideo不会被调用,因为onInitializationSuccess仅在您第一次初始化播放器时被调用。

YouTubePlayer youTubePlayer您可以简单地保留第一次初始化时的引用,并在需要时重新使用它。

YouTubePlayer youTubePlayer;

public void onCreate() {
  super.onCreate();

  // initialize player here and save 
  // ...
  @Override
  public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
     this.youTubePlayer = youTubePlayer;
  }

}


// in your listener
mlv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
      String videoID = urlList.get(i).toString();
      this.youTubePlayer.loadVideo(videoID);
  }
}
Run Code Online (Sandbox Code Playgroud)