YouTube API Android 自动启动

Posted

技术标签:

【中文标题】YouTube API Android 自动启动【英文标题】:YouTube API Android auto start 【发布时间】:2013-02-27 13:49:35 【问题描述】:

我在我的应用中使用 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_ 
    android:layout_ />

如何让视频自动开始播放?

【问题讨论】:

【参考方案1】:

您正在寻找的是 Youtube API 的 loadVideo method。来自docs:

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 方法,它将视频添加到播放列表,但不会自动开始播放视频。

【讨论】:

我需要 cueVideo 方法 +1 【参考方案2】:

使用 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)reader

【讨论】:

唯一对我有用的解决方案 - 其他人不会在 YouTube API v3 上启动自动播放【参考方案3】:

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

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

希望对你有帮助。

【讨论】:

【参考方案4】:

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

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

【讨论】:

【参考方案5】:

文档清楚地说明...

注意:YouTube 仅计算通过 原生播放按钮。

但你可以直接拨打youtubeplayer.loadVideo(VIDEO_ID,0) // 0 millis, start right away

否则,您可以使用 CHROMELESS 控件并向其添加自定义控件。然后它可能会起作用。万事如意..

【讨论】:

【参考方案6】:

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

更多信息请参考Youtube Autoplay parameters。

【讨论】:

这适用于 AS、html5 但不适用于 Android。

以上是关于YouTube API Android 自动启动的主要内容,如果未能解决你的问题,请参考以下文章