这是我的YouTube项目的一部分。我尝试从JSON格式中提取视频信息,但在此行遇到问题:
var videoId = data.feed.entry[i].link[1].href;
当我在单行中执行此操作时,在cikle中不可行,但在cikle中出现错误时或出现错误时。
//get youtube ID
function extract(url){
pos1=url.indexOf("videos/");
pos2=url.substr(42,11);
return pos2;
}
//My playlist LINK
var url2="http://gdata.youtube.com/feeds/api/playlists/B2A4E1367126848D?v=2&alt=json";
function playlistinfo(url1) {
$.ajax({
url: url1,
dataType: "jsonp",
success: function (data) { parseresults(data); }
});
}
//whit this get playlist data
function parseresults(data) {
//return playlist clip number
var klipove= data.feed.openSearch$totalResults.$t;
//put clips in <li>
for(i=0;i<=klipove-1;i++) {
var videoId = data.feed.entry[i].link[1].href;
//get video id ID
var id= extract(videoId);
thumb = data.feed.entry[i].media$group.media$thumbnail[0].url;
$('<li><img src="'+thumb+'" alt="'+id+"" class="thumb"/></li>').appendTo('.cont');
}
}
恕我直言,如果您使用$.getJSON
,可以大大缩短您的代码,$.each
试试看。
var playListURL = 'http://gdata.youtube.com/feeds/api/playlists/B2A4E1367126848D?v=2&alt=json&callback=?';
var videoURL= 'http://www.youtube.com/watch?v=';
$.getJSON(playListURL, function(data) {
var list_data="";
$.each(data.feed.entry, function(i, item) {
var feedTitle = item.title.$t;
var feedURL = item.link[1].href;
var fragments = feedURL.split("/");
var videoID = fragments[fragments.length - 2];
var url = videoURL + videoID;
var thumb = "http://img.youtube.com/vi/"+ videoID +"/default.jpg";
if (videoID !='videos') {
list_data += '<li><a href="'+ url +'" title="'+ feedTitle +""><img alt="'+ feedTitle+"" src="'+ thumb +'"</a></li>';
}
});
$(list_data).appendTo(".cont");
});
演示:拨弄您提供的播放列表
PS:请记住,可以在以下位置找到youtube视频的缩略图
http://img.youtube.com/vi/{video-id}/default.jpg
问题内容: “ googleapis”:“ ^ 16.1.0” 我有一个播放列表,其中有两个视频。如何获得视频ID? 我尝试了这个: 执行代码后,我收到以下消息:https : //gist.github.com/SergeyBondarenko/ea6a2aad546ded32e4a9b3cf53228fef 而且只有播放列表ID: 我在对象内部没有属性: 据我了解,该属性必须包含结果,如以下示
我正试图找出在给定频道频道ID的情况下获取频道上传播放列表ID的最佳方法。E、 g.对于具有channelID的信道 UC9CuvdOVfMPvKCiwdGKL3cQ 对应的上传playlistID为 UU9CuvdOVfMPvKCiwdGKL3cQ 请注意,第二个字符已从“C”更改为“U” 我可以通过字符串操作进行此转换,但我很好奇是否有更好,更不麻烦的方式通过官方youtube api找到上传
我已经设法使用YouTubePlayer播放YouTube视频。然而,当我尝试使用YouTubePlayer播放直播流时,什么也没有发生。API支持播放实时流吗?如果是,我该怎么做?
我正在尝试从播放列表中下载所有视频: 我使用youtube-dl进行此操作,命令如下: 但这只下载第一个视频。不知道我做错了什么。
问题内容: 我编写了一个C代码,用于使用libsoup库获取url为“ * http://gdata.youtube.com/feeds/api/standardfeeds/top_rated*”的youtube视频列表。我可以使用libxml2解析返回的xml数据,并从中提取所需的字段。 我想知道如何使用javascript并在浏览器中显示列表。我对javascript有非常基本的了解,但是如果
我很困惑。据我所知,我完全遵循这些例子。也许我遗漏了一个参数,但我找不到它是什么。 控制台响应没有项目,但我有3个公共播放列表。 [Log]对象(learnadaapi.html,第68行) etag: “\”m2yskBQFythfE4irbTIeOgYYfBU/Rk41fm-2TD0VG1yv0-bkUvcBi9s\“” 项目: [] (0) 类型:“youtube#channelList响应