J'ai appris à faire un joueur de youtube-API sur https://www.sitepoint.com/using-the-youtube-api-to-embed-video-in-an-android-app/saut à Millis ne fonctionne pas sur youtube-api
Je reçois une erreur lorsque la pratique passe à une certaine seconde
java.lang .NullPointerException: tentative d'invoquer la méthode de l'interface 'com.google.android.youtube.player.YouTubePlayer.seekToMillis void (int)' sur une référence d'objet null
et ceci est mon codage
public class SitepointSample extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
private static final int RECOVERY_REQUEST = 1;
private YouTubePlayerView youtubeView;
private MyPlayerStateChangeListener playerStateChangeListener;
private MyPlaybackEventListener playbackEventListener;
private YouTubePlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sitepoint_sample);
final EditText seekToText = (EditText) findViewById(R.id.seek_to_text);
Button seekToButton = (Button) findViewById(R.id.seek_to_button);
seekToButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int skipToSecs = Integer.valueOf(seekToText.getText().toString());
player.seekToMillis(skipToSecs * 1);
}
});
playbackEventListener = new MyPlaybackEventListener();
playerStateChangeListener = new MyPlayerStateChangeListener();
youtubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
youtubeView.initialize(Config.YOUTUBE_API_KEY, this);
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer,
boolean wasRestored) {
this.player = player;
if (!wasRestored) {
youTubePlayer.setPlayerStateChangeListener(playerStateChangeListener);
youTubePlayer.setPlaybackEventListener(playbackEventListener);
youTubePlayer
.cueVideo("fhWaJi1Hsfo"); //plays video_id == https://www.youtube.com/watch?v=fhWaJi1Hsfo
}
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider,
YouTubeInitializationResult errorReason) {
if (errorReason.isUserRecoverableError()) {
errorReason.getErrorDialog(this, RECOVERY_REQUEST).show();
} else {
String error = String.format(getString(R.string.player_error), errorReason.toString());
Toast.makeText(this, error, Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == RECOVERY_REQUEST) {
// Retry initialization if user performed a recovery action
youtubeView.initialize(Config.YOUTUBE_API_KEY, this);
}
}
protected YouTubePlayerView getYouTubePlayerProvider() {
return youtubeView;
}
private void showMessage(String message) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
Quelqu'un peut-il gérer cela?
lorsque vous cliquez sur le bouton, cette vidéo de temps joue ou non? –