2016-07-15 4 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 오버라이드 방법 NextAsyncTask에서 실행. 현재 비디오가 끝날 때이 콜백 메소드 호출.

@Override 
    public void onVideoEnded() { 

    // do something here 
    // play next video here 
    }