ich ein Youtube-Player YouTubePlayerSupportFragment in einem ViewPager umgesetzt haben, die ich erfolgreich getan haben. Das Problem, das ich bekomme, ist YoutubePlayer pausiert in jeder Sekunde, wenn ich versuchte, es zu spielen. Aber wenn ich es im Vollbildmodus spiele, dann spielt es perfekt, hat aber Probleme beim Abspielen innerhalb von View Pager. Der Code für die YouTubePlayerSupportFragment ist:Youtube-Player in jedem zweiten Pause bekommen, die Innenansicht Pager ist
private void initYoutubeFragment() {
final YouTubePlayerSupportFragment youTubePlayerFragment =
YouTubePlayerSupportFragment.newInstance();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.fl_coach_profile_youtube, youTubePlayerFragment).commit();
youTubePlayerFragment.initialize(getString(R.string.youtube_player_api_key)
, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,
YouTubePlayer player, boolean wasRestored) {
mbIsVideoRestored = wasRestored;
if (!wasRestored) {
mYoutubePlayer = player;
mYoutubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
mYoutubePlayer.setPlaybackEventListener(mPlaybackEventListener);
mYoutubePlayer.setPlayerStateChangeListener(mPlayerStateChangeListener);
} else {
player.play();
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider,
YouTubeInitializationResult error) {
}
});
}
Hörer für den Spieler
// Youtube player event listener
private YouTubePlayer.PlaybackEventListener mPlaybackEventListener = new YouTubePlayer.PlaybackEventListener() {
@Override
public void onBuffering(boolean arg0) {
}
@Override
public void onPaused() {
}
@Override
public void onPlaying() {
}
@Override
public void onSeekTo(int arg0) {
}
@Override
public void onStopped() {
}
};
// Youtube player state change listener
private YouTubePlayer.PlayerStateChangeListener mPlayerStateChangeListener = new YouTubePlayer.PlayerStateChangeListener() {
@Override
public void onAdStarted() {
}
@Override
public void onError(YouTubePlayer.ErrorReason arg0) {
}
@Override
public void onLoaded(String arg0) {
}
@Override
public void onLoading() {
}
@Override
public void onVideoEnded() {
}
@Override
public void onVideoStarted() {
}
};
Was bedeutet y unser Layout sieht aus? Die Youtube-Android-Bibliothek verhindert, dass Sie etwas in Ihrer Youtube-Ansicht überlagern. – JohnWowUs
Es ist ein FrameLayout, das ein Fragment ist. Verwendung für ViewPager – Pankaj