PDA

Просмотр полной версии : вставить видео в галерею


Botan
09.01.2010, 02:06
У меня есть галерея с картинками, сделанная во флэше (AS 2) с использованием xml.
Сейчас я хочу видоизменить эту галерею, чтобы вместо картинок при нажатии на кнопку появлялся ролик. Если я просто подменяю в папке и в xml картинки роликами, это работает только в случае, если это swf. C flv не работает. Как я понимаю, нужен еще плеер?

zurkis
09.01.2010, 03:35
ну да, нужно встроить плеер и исправить код чтоб плеер читал xml и загружал видео файлы

Botan
09.01.2010, 03:45
Плеер - это flvplayback флэшовый? Насчет "исправить код" - боюсь, не справлюсь.

zurkis
09.01.2010, 03:53
да, но можно поискать примеры flv плееров работающий с xml файлами и потом его интегрировать в свою галлерею, слава богу таких примеров в инете очень много

Botan
09.01.2010, 04:00
да, плееров полно, но понимаешь, для меня скрипты писать - темный лес. Если можно было бы просто скачать и воткнуть...а почему swf-ки проигрываются без лишних проблем?

zurkis
09.01.2010, 04:03
ну потому что так настроена галлерея, можно конечно загонять видео в swf и потом проигрывать видео swf и в коде ничего не менять

Botan
09.01.2010, 04:08
ну это во первых большой размер, а во-вторых, я правильно понимаю, что swf будут проигрываться, только полностью загрузившись?

Добавлено через 2 минуты
и потом, не будет интерфейса плеера, то есть не будет возможности управления видео.

zurkis
09.01.2010, 04:13
тогда надо найти flv плеер, который играет flv файлы из xml и интегрировать его в свою галлерею, тут с незнанием кода, будет сложней Вам

Botan
09.01.2010, 04:22
И так плохо и так не здорово:) Как же быть?

zurkis
09.01.2010, 04:24
искать flv плеер который работает с xml и разбираться с кодом чтом можно было интегрировать, либо заплатить тому кто может сделать, либо начинать делать самому и что не понятно, спрашивать на форуме

Botan
09.01.2010, 04:38
Вот здесь обзор плееров,
http://habrahabr.ru/blogs/webdev/28196/

правда не уточнено насчет xml - вы не в курсе, какой из них подходящий?

Добавлено через 20 часов 16 минут
Короче говоря, я нашел программу, которая добавляет плеер в swf файл. Когда этот файл играется отдельно - все ок. Когда он проигрывается уже в сцене, где прописана галерея - полный крах, файл не проигрывается, кнопки управления не реагируют. (обычные swf-ки без кнопок управления проигрываются нормально)

Скрипт галереи, в которую я пытаюсь затащить, выглядит так

import mx.transitions.Tween;
import mx.transitions.easing.*;
var gallery_x:Number;
var gallery_y:Number;
var gallery_width:Number;
var gallery_height:Number;
var myImages:Array;
var myImagesTotal:Number;
var thumb_height:Number;
var thumb_width:Number;
var full_x:Number;
var full_y:Number;
var myGalleryXML = new XML();
myGalleryXML.ignoreWhite = true;
myGalleryXML.load("design_gallery.xml");

myGalleryXML.onLoad = function() {
gallery_x = myGalleryXML.firstChild.attributes.gallery_x;
gallery_y = myGalleryXML.firstChild.attributes.gallery_y;
gallery_width = myGalleryXML.firstChild.attributes.gallery_width;
gallery_height = myGalleryXML.firstChild.attributes.gallery_height;
myImages = myGalleryXML.firstChild.childNodes;
myImagesTotal = myImages.length;
thumb_height = myGalleryXML.firstChild.attributes.thumb_height;
thumb_width = myGalleryXML.firstChild.attributes.thumb_width;
full_x = myGalleryXML.firstChild.attributes.full_x;
full_y = myGalleryXML.firstChild.attributes.full_y;
callThumbs();


};

function callThumbs() {
this.createEmptyMovieClip("container_mc",this.getNextHighestDepth());
container_mc._x = gallery_x;
container_mc._y = gallery_y;
var clipLoader = new MovieClipLoader();
var preloader = new Object();
clipLoader.addListener(preloader);

for (i=0; i<myImagesTotal; i++) {
thumbURL = myImages[i].attributes.thumb_url;
myThumb_mc = container_mc.createEmptyMovieClip(i, container_mc.getNextHighestDepth());
myThumb_mc._y = (thumb_height*1.2)*i;
clipLoader.loadClip("120x90/design/"+thumbURL,myThumb_mc);

preloader.onLoadComplete = function(target) {
new Tween(target, "_alpha", Strong.easeOut, 0, 50, .5, true);
target.my_txt.removeTextField();

target.onRelease = function() {

callFullImage(this._name);
};};
}
}
function callFullImage(myNumber) {

myURL = myImages[myNumber].attributes.full_url;
myTitle = myImages[myNumber].attributes.title;
this.createEmptyMovieClip("fullImage_mc",this.getNextHighestDepth());
fullImage_mc._x = full_x;
fullImage_mc._y = full_y;
var fullClipLoader = new MovieClipLoader();
var fullPreloader = new Object();
fullClipLoader.addListener(fullPreloader);
fullClipLoader.loadClip("400x300/design/"+myURL,fullImage_mc);

}


Укажите на проблему плиз.