【发布时间】:2015-10-05 12:33:39
【问题描述】:
我的活动中有一个 YouTube 播放器。但我在使用视频的全屏选项时遇到了一些问题。
当我第一次开始活动时,youtubeview 会正确显示和初始化,我可以看到视频播放它并进入全屏模式。但是当我按下按钮退出全屏模式/旋转我的手机时,整个活动正在重新加载,并且活动中缺少 youtubeview。这是我初始化 youtube 播放器/视图的方法:
try {
final YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
youTubeView.initialize("KEY", new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean VidBool) {
if(ad==null || ad.getVideo_urls() == null)
return;
if (!VidBool)
{
try {
if (ad.getVideo_urls() != null && ad.getVideo_urls().length() > 0) {
String url = ad.getVideo_urls().getString(0);
if (url.contains("youtube")){
VideoID = "kQsN-pvokrw";
youTubeView.setVisibility(View.VISIBLE);
MyYouTubePlayer = youTubePlayer;
MyYouTubePlayer.cueVideo(VideoID);
MyYouTubePlayer.setOnFullscreenListener(new YouTubePlayer.OnFullscreenListener() {
@Override
public void onFullscreen(boolean b) {
fullScreen = true;
}
});
}
} else {
youTubeView.setVisibility(View.GONE);
Log.i(Constants.getTag(), "Video not found");
//Making sure the MyYouTubePlayer is null and if not is being released
if(MyYouTubePlayer != null)
{
MyYouTubePlayer.release();
MyYouTubePlayer.setFullscreenControlFlags(-1);
}
}
}
catch (JSONException e) {
youTubePlayer.release();
e.printStackTrace();
}
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
youTubeView.removeAllViews();
}
});
//Catching A dead object exception
} catch(Exception e){
e.printStackTrace();
Log.e("Youtube", "error initializing youtube");
}
【问题讨论】:
标签: android video youtube android-fullscreen