嗨大家搞乱了youtube api for android。我已经完成了所有设置和工作。即时通讯使用我的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);
这是我抓住网址并将其添加到我的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) {
}
};
答案 0 :(得分:1)
我认为您的代码段中缺少部分代码,但这就是为什么这不起作用:
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);
}
}
答案 1 :(得分:1)
根据Android Player API,您可以使用release()方法执行此操作:
public abstract void release()
停止任何加载或视频播放并释放任何系统资源 此YouTubePlayer使用。
请注意,在调用此方法之后,与此进行任何进一步的交互 YouTubePlayer是被禁止的。必须创建一个新实例 重新启用播放。