Question

Dans les galeries vidéo, YouTube affiche les images des vidéos au lieu du lecteur flash. Si vous cliquez sur l'image, vous êtes redirigé vers une page où se trouve le lecteur vidéo flash. Je veux montrer les premières images statiques.

Comment puis-je faire cela par programmation?

Était-ce utile?

La solution

Pour Javascript: (je suppose que vous l'avez étiqueté en tant que flash, car Youtube est un lecteur vidéo flash)

function getScreen( url, size )
{
  if(url === null){ return ""; }

  size = (size === null) ? "big" : size;
  var vid;
  var results;

  results = url.match("[\\?&]v=([^&#]*)");

  vid = ( results === null ) ? url : results[1];

  if(size == "small"){
    return "http://img.youtube.com/vi/"+vid+"/2.jpg";
  }else {
    return "http://img.youtube.com/vi/"+vid+"/0.jpg";
  }
}

ici trouvé .

Pour sortir de cette fonction, il suffit de prendre le paramètre v = ladlfasd et de le mettre dans cette URL:

http://img.youtube.com/vi/(v= parameter)/2.jpg

Où il est 2.jpg pour les petits, 0.jpg pour les grands

Autres conseils

function getYoutubeThumbnail($url)
{

    if(preg_match('![?&]{1}v=([^&]+)!', $url . '&', $m))
    {
        $videoid = $m[1];
    }
    else if(preg_match('~/v/([0-9a-z_]+)~i', $url, $m))
    {
        $videoid = $m[1];
    }

    $youtube_thumbnail = 'http://img.youtube.com/vi/' . $videoid . '/default.jpg';

    $c = curl_init();

    $url = trim($url);

    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);

    curl_setopt($c, CURLOPT_URL, $url);

    $contents = curl_exec($c);

    curl_close($c);


    $feed = "http://gdata.youtube.com/feeds/api/videos/".$videoid;

    $newInfo = trim(@file_get_contents($feed));

    preg_match('/<media:title(.*?)<\/media:title>/', $newInfo, $result);

    $title = strip_tags($result[0]);

    preg_match('/<media:keywords(.*?)<\/media:keywords>/', $newInfo, $result);

     $desc = strip_tags(str_replace(",", "", $result[0]));

     //embed path
     $embed_path = "http://www.youtube.com/embed/".$videoid;



    $youtube_info = array('videoid' => $videoid,'title' => $title, 'description' => $desc,'youtube_thumbnail' => $youtube_thumbnail,'embed_path' => $embed_path) ;

    return $youtube_info;

}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top