32

I use YouTube API in my app. My problem is, the video does not auto play, and the user has to press the play button to start playing.

My code:

setContentView(R.layout.playerview_demo); ((YouTubePlayerView)findViewById(R.id.youtube_view)).initialize(DEV_KEY, this); 

youtube_view layout:

<com.google.android.youtube.player.YouTubePlayerView android:id="@id/youtube_view" android:layout_width="fill_parent" android:layout_height="wrap_content" /> 

How do I make the video start automatically?

6 Answers 6

85

What you are looking for is the Youtube API's loadVideo method. From the docs:

public abstract void loadVideo (String videoId)

Loads and plays the specified video.

You can use it like this:

@Override public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) { this.player = player; player.loadVideo(video.id); // where video.id is a String of a Youtube video ID } 

In a similar vein, there is also the cueVideo method, which adds the video to the playlist, but does not automatically start playing the video.

Sign up to request clarification or add additional context in comments.

1 Comment

I need cueVideo method +1 for that
5

Using loadVideo function.

public abstract void loadVideo (String videoId, int timeMillis) 

Loads and plays the specified video. Playback will start at the specified time in the video.

videoId - The ID of the video to be played timeMillis - The time in milliseconds

FYR: https://developers.google.com/youtube/android/player/reference/com/google/android/youtube/player/YouTubePlayer#loadVideo(java.lang.String)reader

1 Comment

Only solution that worked for me - the others don't start the autoplay on YouTube API v3
3

You need to use player.cueVideo("video_id");

This will load the video, but it will not start auto playing. The video is auto playing because you're using player.loadVideo("video_id");.

Hope it helps.

Comments

1

I have solve this myself, then i post here:

 public void onInitializationSuccess(YouTubePlayer.Provider paramProvider, YouTubePlayer paramYouTubePlayer, boolean paramBoolean) {if (!paramBoolean)paramYouTubePlayer.loadVideo(CLIP_LINK);} 

Comments

1

The documentation clearly states...

Note: YouTube only counts playbacks that are initiated through the native play button.

but u could simply call youtubeplayer.loadVideo(VIDEO_ID,0) // 0 millis, start right away

Otherwise you could use CHROMELESS controls and add custom controls to it. Then it may work. All the best..

Comments

0

Check that autoplay feature is set to 1. Player will load initial video in autoplay by default.

Please refer Youtube Autoplay parameters for more.

1 Comment

This apply to AS, HTML5 but not Android.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.