PDA

Просмотр полной версии : XML+YOUTUBE="линейка" из видеороликов


start4up
04.04.2010, 09:10
Приветствую! Собираю не коммерческий flash сайт и столкнулся с проблемой места на сервере. Но имеется необходимость в видео причём не одном (19 видео по 3мин. о экологии) но места на сервере всего 50мб!
Пришла мысль грузить видео на youtube а с youtube на сайт "стримом".

Раздобыл код благодаря которому youtube ролик монтирует в flash, чуток его доработал. Буквально одна поправка и теперь видео появляется там где ему положено.

Но видео 19шт.(и это пока) и пришла следующая идея. Создавать "мувики" по списку с xml, а уже в них направлять код youtube. Выходит имеется две переменные! Первая порядковый номер ролика а вторая его url.

// указал this для точного попадания т.к. код в фрейме одного мувика.
var ytplayer:MovieClip = this.createEmptyMovieClip("ytplayer", 1);

var ytPlayerLoaderListener:Object = {
onLoadInit: function() {
loadInterval = setInterval(checkPlayerLoaded, 250);
}
};

var loadInterval:Number;


function checkPlayerLoaded():Void {
if (ytplayer.isPlayerLoaded()) {
ytplayer.addEventListener("onStateChange", onPlayerStateChange);
ytplayer.addEventListener("onError", onPlayerError);
clearInterval(loadInterval);
}
}

function onPlayerStateChange(newState:Number) {
trace("New player state: "+ newState);
}

function onPlayerError(errorCode:Number) {
trace("An error occurred: "+ errorCode);
}

var ytPlayerLoader:MovieClipLoader = new MovieClipLoader();
ytPlayerLoader.addListener(ytPlayerLoaderListener);

// наш url с youtube
ytPlayerLoader.loadClip("http://www.youtube.com/v/pv5zWaTEVkI", ytplayer);

Сижу перечитываю xml class и пытаюсь понять как это теперь всё соединить...
Помогите пожалуйста!

Добавлено через 19 минут
В порядке бреда начал вспоминать загрузку текста... видимо это отсутствия сна.
var loader:LoadVars = new LoadVars();
loader._parent = this;
loader.onData=function(inString){
my.text = inString;
}
loader.load("txt1.txt");
Сижу и думаю что если в текст записать адрес видео. А получив его из "вне" скормить его ytPlayerLoader.loadClip();
Маразм)

Добавлено через 1 час 16 минут
Переборов сон... повторно удивился самому себе(...загрузка текста...)
и начал:
var myYoutubeXML = new XML();
myYoutubeXML.ignoreWhite = true;
myYoutubeXML.load("video.xml");...
пальцем внебо но всё же... очень буду рад помощи в моём начинании!

in4core
04.04.2010, 12:15
В чем сложность то? Видяхи будут грузится с XML динамически или же вы будете вручную пути для них писать в XML? Если вручную то не надо ничего серверного и голову ломать не надо))) Но есть подозрение - что при загрузке ( попытке) с ютуба тоесть не вашего сайта - вам вылезет ошибка, что типа НЕФИГ! Access denied)))
По теме
var arr = [];
var myYoutubeXML = new XML();
myYoutubeXML.ignoreWhite = true;
myYoutubeXML.load("video.xml");
xml.onLoad = function() {
m = myYoutubeXML.firstChild.childNodes;
for(var i = 0; i<m.length; i++) {
arr.push(m[i].attributes.url)
}
}
btn_loader.onRelease = function() { LOADIT_BABY(3) }
function LOADIT_BABY(f) {
ytPlayerLoader.loadClip(arr[f], ytplayer);
}

<xml?>
<data>
<f1 url = "tttttttt.com" />
<f1 url = "tttttttt.com" />
<f1 url = "tttttttt.com" />
<f1 url = "ttttttttSUKA.com" />
<f1 url = "tttttttt.com" />
<f1 url = "tttttttt.com" />
</data>

start4up
04.04.2010, 12:22
Спасибо in4core!
На момент прочтения вашей подмоги! У меня уже полезли...
Решил вопрос так System.security.allowDomain("youtube.com","http://youtube.com","www.youtube.com","8.7.217.31");
Суть как раз и заключается.... в совмещение простой по сути галереи и выше упомянутого кода для внедрения видео в flash!
PS тестирую, всё получилось своими силами.