我是这个网站的新手,到目前为止,它确实帮助了我。 我的建筑和应用程序包含来自youtube的播放列表,到目前为止它正在工作,但我只有一个视频,下一个视频只会显示如果你按下一个按钮,我想创建一个列表该播放列表中的所有视频。 目前使用java for android和xml,如果可能,请保持这种方式。 谢谢。
我的代码:
import android.drm.DrmStore;
import android.os.Bundle;
import android.widget.Toast;
import com.google.android.youtube.player.YouTubeBaseActivity;
import com.google.android.youtube.player.YouTubeInitializationResult;
import com.google.android.youtube.player.YouTubePlayer;
import com.google.android.youtube.player.YouTubePlayer.ErrorReason;
import com.google.android.youtube.player.YouTubePlayer.PlaybackEventListener;
import com.google.android.youtube.player.YouTubePlayer.PlayerStateChangeListener;
import com.google.android.youtube.player.YouTubePlayer.Provider;
import com.google.android.youtube.player.YouTubePlayerView;
import com.google.android.youtube.player.YouTubePlayer.OnFullscreenListener;
public class ky extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
public static final String API_KEY = "api";
//http://youtu.be/<VIDEO_ID>
public static final String VIDEO_ID = "PLZeI1YOvEK7EK499BrkBl95VseODbMDa-";
public void onFullscreen(boolean isFullscreen) {
if (isFullscreen)
playbackEventListener.onPlaying();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/** attaching layout xml **/
setContentView(R.layout.ky);
/** Initializing YouTube player view **/
YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById(R.id.youtube_player);
youTubePlayerView.initialize(API_KEY, this);
}
@Override
public void onInitializationFailure(Provider provider, YouTubeInitializationResult result) {
Toast.makeText(this, "Failured to Initialize!", Toast.LENGTH_LONG).show();
}
@Override
public void onInitializationSuccess(Provider provider, final YouTubePlayer player, boolean wasRestored ) {
/** add listeners to YouTubePlayer instance **/
player.setPlayerStateChangeListener(playerStateChangeListener);
player.setPlaybackEventListener(playbackEventListener);
player.setOnFullscreenListener(new OnFullscreenListener() {
@Override
public void onFullscreen(boolean b) {
if(b)
player.play();
else
player.play();
}
});
/** Start buffering **/
if (!wasRestored) {
player.loadPlaylist(VIDEO_ID);
}
}
private PlaybackEventListener playbackEventListener = new PlaybackEventListener() {
@Override
public void onBuffering(boolean arg0) {
}
@Override
public void onPaused() {
}
@Override
public void onPlaying() {
}
@Override
public void onSeekTo(int arg0) {
}
@Override
public void onStopped() {
}
};
private PlayerStateChangeListener playerStateChangeListener = new PlayerStateChangeListener() {
@Override
public void onAdStarted() {
}
@Override
public void onError(ErrorReason arg0) {
}
@Override
public void onLoaded(String arg0) {
}
@Override
public void onLoading() {
}
@Override
public void onVideoEnded() {
}
@Override
public void onVideoStarted() {
}
};
}
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:background="@color/black"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".example">
<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.google.android.youtube.player.YouTubePlayerView
android:id="@+id/youtube_player"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"/>
</RelativeLayout>
答案 0 :(得分:3)
我使用Youtube Api休息调用,异步任务和回收者视图完成了此操作。
RecyclerView有助于创建列表,异步任务可帮助您在后台发出http请求。
查找异步任务和recyclerview的基础知识。 http://www.androidhive.info/有很好的教程。
Youtube休息电话看起来像这样(我相信最高结果是50):
以下是帮助您入门的一些步骤:
例如,在此播放列表网址中:https://www.youtube.com/watch?v=2q7XGuH2Q-s&list=PLuR1PJnGR-Igj4mNcr6_zDkQ3DTVA6wG5
“PL”之后的所有内容都是id“uR1PJnGR-Igj4mNcr6_zDkQ3DTVA6wG5”。
此外,您还必须在Google Developer控制台中创建浏览器密钥。您不必在文本框中输入任何内容,只需单击Enter,然后检索您的api密钥
在您的Google Developers控制台中,在“API”下,确保您启用Youtube Data api。
https://www.dropbox.com/s/6wtr7hpawx3ij64/youtubeApi.PNG
https://developers.google.com/youtube/android/player/downloads/
将下载的jar文件添加到新下载的项目中的libs文件夹中.DONT通过将其拖入Android Studio来添加它
接下来转到android studio并点击项目下拉列表:
https://www.dropbox.com/s/cjlr4fnnikpnx7a/Screen%20Shot%202015-04-22%20at%2012.39.28%20PM.png?dl=0
然后下拉libs文件夹,你会看到youtube jar.right点击jar文件,然后点击“添加为库”。
我在这里有一个更深入的教程: http://cmcoffee91.com/blog/2016/12/18/how-to-add-youtube-playlist-to-your-android-app/
答案 1 :(得分:0)
您可以使用youtube数据api获取所有内容,这非常简单。
答案 2 :(得分:0)
访问 youtube developer api website。 api中有几种方法可以帮助检索播放列表,频道,用户个人资料等。For reference to insert playlist
答案 3 :(得分:0)
另外两个答案是正确的。具体而言,您要查找的YouTube API REST呼叫位于PlaylistItems下,该列表会显示播放列表中所有视频的列表。
从文档中,GET调用是:
GET https://www.googleapis.com/youtube/v3/playlistItems?part=id&playlistId=[yourPlaylistId]