كيفية الحصول على يوتيوب فيديو صورة ثابتة باستخدام جافا سكريبت؟

StackOverflow https://stackoverflow.com/questions/1231062

  •  22-07-2019
  •  | 
  •  

سؤال

في غلرس فيديو يظهر يوتيوب صور الفيديو بدلا من مشغل الفلاش. إذا كنت انقر على الصورة، تتم إعادة توجيهك إلى صفحة حيث هو لاعب فلاش فيديو. أريد أن تظهر أول الصور الثابتة.

وكيف يمكنني أن أفعل ذلك برمجيا؟

هل كانت مفيدة؟

المحلول

لجافا سكريبت: (أفترض أنك الموسومة بأنها فلاش ليوتيوب لاعب فلاش فيديو)

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";
  }
}

وجدت rel="noreferrer"> href="http://jquery-howto.blogspot.com/2009/02/how-to-get-youtube-video-screenshot.html" .

والخروج من هذه الوظيفة، وأساسا لديك فقط لاتخاذ ت = المعلمة ladlfasd ووضعها في هذا الرابط:

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

وأين هو 2.jpg وللمشاريع الصغيرة، 0.JPG لكبير

نصائح أخرى

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;

}
scroll top