2016-07-15 3 views
1

私はアンドロイドでYouTubeプレーヤーを統合した後、複数のビデオを再生しようとしています。 YouTubeプレーヤーで1つの動画を終了した後に別の動画を再生する必要がありますが、多くの曲を検索しましたが、適切な結果が得られませんでした。アンドロイドで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オーバーライドメソッドからNextAsyncTaskを実行します。 現在のビデオが終了したときにコールバックするメソッドです。

@Override 
    public void onVideoEnded() { 

    // do something here 
    // play next video here 
    } 
関連する問題