31

我在我的应用程序中使用 YouTube API。我的问题是,视频不会自动播放,用户必须按下播放按钮才能开始播放。

我的代码:

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

youtube_view布局:

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

如何让视频自动开始?

4

6 回答 6

84

您正在寻找的是 Youtube API 的loadVideo 方法。从文档

public abstract void loadVideo (String videoId)

加载并播放指定的视频。

你可以像这样使用它:

@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
}

类似地,还有cueVideo一种方法,将视频添加到播放列表,但不会自动开始播放视频。

于 2013-03-14T05:32:41.213 回答
5

使用loadVideo函数。

public abstract void loadVideo (String videoId, int timeMillis)

加载并播放指定的视频。播放将在视频中的指定时间开始。

videoId - 要播放的视频的 ID timeMillis - 时间,以毫秒为单位

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

于 2015-03-11T07:33:04.443 回答
3

你需要使用player.cueVideo("video_id");

这将加载视频,但不会开始自动播放。视频是自动播放的,因为您使用的是player.loadVideo("video_id");.

希望能帮助到你。

于 2018-03-18T15:21:58.933 回答
1

我自己解决了这个问题,然后我在这里发布:

 public void onInitializationSuccess(YouTubePlayer.Provider paramProvider, YouTubePlayer  paramYouTubePlayer, boolean paramBoolean)
 {if (!paramBoolean)paramYouTubePlayer.loadVideo(CLIP_LINK);}
于 2013-03-12T07:37:30.667 回答
1

文件清楚地表明......

注意:YouTube 仅计算通过本机播放按钮启动的播放。

但你可以简单地打电话youtubeplayer.loadVideo(VIDEO_ID,0) // 0 millis, start right away

否则,您可以使用 CHROMELESS 控件并向其添加自定义控件。然后它可能会起作用。祝一切顺利..

于 2017-02-14T15:47:32.193 回答
0

检查autoplay功能是否设置为1。默认情况下,播放器将加载初始视频autoplay

更多信息请参考Youtube 自动播放参数

于 2013-03-12T06:49:39.207 回答