Youtube API:显示每个视频的缩略图.


Youtube API: Displaying thumbnails of each video...?

嗨,有人能帮助我以正确的方式从我正在播放的频道中获取每个视频的默认.jpg图像吗?

<?php
$url = 'http://gdata.youtube.com/feeds/api/users/utahblaze/uploads?orderby=updated&max-results=8';
$xml = simplexml_load_file($url);
foreach ($xml->entry as $entry) :
    $kids = $entry->children('http://search.yahoo.com/mrss/');
    $attributes = $kids->group->content[0]->attributes();
    $flv = $attributes['url'];
    $attributes = $kids->group->player->attributes();
    $link = $attributes['url']; 
?>
<a href="<?=$link?>">test</a?
<?php endforeach; ?>

这里是一个如何使用Zend Framework的GData Youtube类获取视频图像url的示例。

<?php 
$yt = new Zend_Gdata_YouTube();
$query = $yt->newVideoQuery();
$query->videoQuery = 'cat';
$query->startIndex = 10;
$query->maxResults = 20;
$query->orderBy = 'viewCount';
$videoFeed = $yt->getVideoFeed($query);
foreach ($videoFeed as $videoEntry) : ?>
    <div class="video"> 
        <span>Title: <?php echo $videoEntry->getVideoTitle();?><span><br />
        <span>Description:<?php echo $videoEntry->getVideoDescription();?> </span> <br/>
        <?php $videoThumbnails = $videoEntry->getVideoThumbnails(); ?>
        <img alt="video-thumbnail" src="<?php echo $videoThumbnails[0]['url'];?>" />
    </div>
<?php endforeach; ?>

正如您所看到的,getVideoThumbnails()方法为您提供了该视频的缩略图数组及其内部的url。希望这能有所帮助。

您是否尝试过GData类而不是直接处理Youtube API?我建议您使用zend框架包中捆绑的官方类,因为从视频源中提取特定数据会更容易。http://framework.zend.com/manual/en/zend.gdata.youtube.html

这里有一个不错的PHP类,用于嵌入Youtube视频和播放列表。它会为您提供缩略图以及与视频相关的所有其他信息/元素。

PHP Youtube类