2016-07-15 133 views
1

我想在Android中集成YouTube播放器後播放多個視頻。我需要在YouTube播放器中結束1個視頻後播放另一個視頻,我搜索了很多內容,但無法獲得正確的結果。我不知道我該如何做,請幫助我。如何在Android中結束1個視頻後播放下一個YouTube視頻

public class MainActivity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener { 

private YouTubePlayer YPlayer; 
private static final String YoutubeDeveloperKey = "AIzaSyB2nIJ2lGZaCcvAq7a2ZY6Ny4lzjUhQld4"; 
private static final int RECOVERY_DIALOG_REQUEST = 1; 
int count = 1; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
YouTubePlayerView youTubeView = (YouTubePlayerView) findViewById(R.id.youtube_view); 
youTubeView.initialize(YoutubeDeveloperKey, this); 
    } 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
return true; 
} 

@Override 
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { 
YPlayer = youTubePlayer; 
     /* 
      * Now that this variable YPlayer is global you can access it 
      * throughout the activity, and perform all the player actions like 
      * play, pause and seeking to a position by code. 
      */ 
if (!b) { 
YPlayer.cueVideo("wPxqcq6Byq0"); 
YPlayer.cueVideo("wPxqcq6Byq0"); 

     } 
    } 

@Override 
public void onInitializationFailure(YouTubePlayer.Provider provider, 
YouTubeInitializationResult errorReason) { 
    if (errorReason.isUserRecoverableError()) { 
    errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show(); 
    } 
else { String errorMessage = String.format(
"There was an error initializing the YouTubePlayer", 
errorReason.toString()); 
Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show(); 
     } 
    } 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
if (requestCode == RECOVERY_DIALOG_REQUEST) { 
getYouTubePlayerProvider().initialize(YoutubeDeveloperKey, this); 
     } 
    } 

protected YouTubePlayer.Provider getYouTubePlayerProvider() { 
return (YouTubePlayerView) findViewById(R.id.youtube_view); 
    } 

@Override 
protected void attachBaseContext(Context newBase) { 
super.attachBaseContext(newBase); 
MultiDex.install(this); 
    } 

private YouTubePlayer.PlayerStateChangeListener playerStateChangeListener = new YouTubePlayer.PlayerStateChangeListener() { 


@Override 
public void onLoading() { 
     } 

@Override 
public void onLoaded(String s) { 

     } 

@Override 
public void onAdStarted() { 

     } 

@Override 
public void onVideoStarted() { 

     } 
@Override 
public void onVideoEnded() { 

     } 

@Override 
public void onError(YouTubePlayer.ErrorReason errorReason) { 

     } 
    }; 
} 

回答

0

onVideoEnded覆蓋方法Execute NextAsyncTask。 當前視頻完成後,此回調方法會調用。

@Override 
    public void onVideoEnded() { 

    // do something here 
    // play next video here 
    } 
相關問題