digitorum.ru

Как меня найти

Профиль

icq: 4415944

jQuery плагин для воспроизведения видео с YouTube

YouTube, jQuery, javascript, php

В очередной раз захожу на ютуб посмотреть на Мастера Чифа, уничтожающего с особой жестокостью фиолетовых пришельцев, и, естественно, нарываюсь на рекламу какой-то невнятной полюбени.

Сквозь зубы: «Спасибо **ть большое».

Слава богу, что в видео, которое ютуб вещает через api, рекламы пока нет, и этим незамедлительно надо воспользоваться.

Собственно наклепал на коленке мини плагин.

Пример использования:

$('#ytbplayer').YouTube_Playlist({
	list : $('#ytbplayer_list'),
	receivers : {
		playlist : '/system/php/Scripts/YouTube/playListData.php',
		video : '/system/php/Scripts/YouTube/videoData.php'
	},
	queue : [
		'video:e_S9VvJM1PI',
		'playlist:PL549EB9DBB2FF8C24',
		'video:TxvpctgU_s8',
		'video:rLG6OAE6FIE',
		'video:IR_mBh5mqok'
	]
});

 

Php-скрипты:

  • Для получения данных о плэйлисте:
<?php
	
	$data = array();
	$playlist = isset($_GET['playlist']) ? trim($_GET['playlist']) : '';
	if($playlist) {
		$xml = file_get_contents('http://gdata.youtube.com/feeds/api/playlists/' . $playlist);
		if($xml) {
			$xml = new SimpleXMLElement($xml);
			if($xml) {
				foreach($xml->entry as $video) {
					foreach($video->link as $link) {
						if($link['type'] == 'text/html') {
							$href = (string)$link['href'];
						}
					}
					if($href && preg_match('/\?v=([^$#&]*)/', $href, $matches)) {
						$data[$matches[1]] = array(
							'title' => (string)$video->title
						);
					}
				}
			}
		}
	}
	print json_encode($data);
	
?>

 

  • Для получения данных о видео:
<?php
	
	$data = array();
	$videos = isset($_GET['videos']) ? explode(",", trim($_GET['videos'])) : array();
	foreach($videos as $video) {
		$xml = file_get_contents('http://gdata.youtube.com/feeds/api/videos/' . $video);
		if($xml) {
			$xml = simplexml_load_string($xml);
			if($xml) {
				foreach($xml->link as $link) {
					if($link['type'] == 'text/html') {
						$href = (string)$link['href'];
					}
				}
				if($href && preg_match('/\?v=([^$#&]*)/', $href, $matches)) {
					$data[$matches[1]] = array(
						'title' => (string)$xml->title
					);
				}
			}
		}
	}
	print  json_encode($data);
	
?>

 

И, конечно же, результат.