【发布时间】:2017-03-08 11:58:57
【问题描述】:
目前正在开发使用 youtube api 显示视频的 android 应用程序。在这个应用程序中,我使用 youtubeplayerfragment 在片段中显示视频。当我单击全屏视图时,屏幕的方向在全屏视图中更改为横向模式,当我单击从全屏模式退出时,屏幕仍处于横向模式,即使尝试通过旋转设备旋转,并且每次屏幕方向更改视频开始从开始。如何在方向更改时保留视频状态以及如何解决我的问题。
我的 youtube 代码在这里:
if (savedInstanceState == null) {
mYouTubePlayerFragment.initialize(Constants.YOUTUBEDEVELOPERKEY,
new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,
YouTubePlayer youTubePlayer, boolean b) {
//on player full screen mode
youTubePlayer.setShowFullscreenButton(true);
youTubePlayer.setOnFullscreenListener(
new YouTubePlayer.OnFullscreenListener() {
@Override
public void onFullscreen(boolean b) {
Log.d(TAG, String.valueOf(b));
}
});
//play video in the player
if (!b) {
youTubePlayer.loadVideo(args.getString(Constants.VIDEOID));
youTubePlayer.play();
} else {
youTubePlayer.play();
}
}
@Override
public void onInitializationFailure(
YouTubePlayer.Provider provider,
YouTubeInitializationResult youTubeInitializationResult) {
Log.d("FeedVideoFragment", youTubeInitializationResult.toString());
youTubeInitializationResult.getErrorDialog(getActivity(), 0);
}
});
getActivity().getSupportFragmentManager().beginTransaction().add(R.id.youtube_fragment,
mYouTubePlayerFragment, MYYOUTUBEFRAGMENT).commit();
} else {
mYouTubePlayerFragment.initialize(Constants.YOUTUBEDEVELOPERKEY,
new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,
YouTubePlayer youTubePlayer, boolean b) {
//on player full screen mode
youTubePlayer.setShowFullscreenButton(true);
youTubePlayer.setOnFullscreenListener(
new YouTubePlayer.OnFullscreenListener() {
@Override
public void onFullscreen(boolean b) {
}
});
//play video in the player
if (!b) {
youTubePlayer.loadVideo(savedInstanceState.getString("videoId"));
youTubePlayer.play();
} else {
youTubePlayer.play();
}
}
@Override
public void onInitializationFailure(
YouTubePlayer.Provider provider,
YouTubeInitializationResult youTubeInitializationResult) {
Log.d("FeedVideoFragment", youTubeInitializationResult.toString());
youTubeInitializationResult.getErrorDialog(getActivity(), 0);
}
});
getActivity().getSupportFragmentManager().findFragmentByTag(MYYOUTUBEFRAGMENT);
}
【问题讨论】:
-
您可以在此documentation 中验证您在实现屏幕方向方面是否做对了。这个tutorial 向您展示了如何在 YouTube 播放器中使用横向模式播放视频。因此,请尝试检查它是否可以帮助您。我还找到了与您的问题相关的 SO question。
标签: android youtube-api