2009-08-05 26 views

Trả lời

9

Đối với Javascript: (tôi giả sử bạn gắn thẻ nó như flash vì Youtube là một máy nghe nhạc flash video)

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

Tìm thấy here.

Đi tắt của chức năng này, về cơ bản bạn chỉ cần lấy v = tham số ladlfasd và đặt nó trong url này:

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

đâu nó được 2.jpg cho nhỏ, 0.jpg cho lớn

+0

bất kỳ suy nghĩ nào về cách truy xuất hình ảnh trong danh sách phát? –

3
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; 

} 
Các vấn đề liên quan