Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   FLV Player (http://www.flasher.ru/forum/showthread.php?t=132358)

AntareSFire 10.11.2009 18:43

FLV Player
 
Здравствуйте народ.
Помогите пожалуйста, с проблемой!!! Обычно читал ваш форум и всегда находил ответ, а тут не нашел или плохо искал, пришлось зарегаться!
Проблема в следующем, пишу flv player, поместил на сцену FLVPlayBack, скин создал свой, данные для проигрывания берутся из XML-файла. После того как из XML'ьки вынута нужная инфа начинает строится динамический play list, все строится нормально и проигрывается тоже! Принцип работы play list'a нажимаем на любую запись и начинается воспроизведение, файл дошел до конца и перемотался на начало (то есть дальше по списку не идем, как например в виндовом плеере, а остаемся на выбранном файле).
Дак вот собственно вопрос, не могу написать код, точнее не знаю, который бы нес следующее смысловую нагрузку:
"После окончания проигрывания выбранного файла из play list'a, вызвать определенную функцию (ну мной написанную)"? типа
проигрывание завершилось {
fixPositThis();
}


Вот я тут код прикрепил, он не сложный, если кто знает, помогите пожалуйста, а то третий день голову ломаю, а ответа не могу найти. Заранее спасибо кто откликнется.

Код AS1/AS2:

xml = new XML();
xml.ignoreWhite = true;
xml.load("FLV/files.xml");
xml.onLoad = getData;
 
function getData() {
        lib = xml.firstChild;
        video = lib.childNodes;
        files = new Array();
        info = new Array();
        k = 0;
        for (i=0; i<video.length; i++) {
                if (video[i].nodeName == "video") {
                        files[k] = video[i].attributes.name;
                        info[k] = video[i].attributes.info;
                        k++;
                }
        }
        createList();
}
 
function createList() {
        this.Play_List.createEmptyMovieClip("list",1);
        y0 = 20;
        this.Play_List.list._x = 5;
        this.Play_List.list._y = y0;
        max = files.length;
        dy = 23;
        for (i=0; i<max; i++) {
                name = "item"+i;
                this.Play_List.list.attachMovie("item",name,i);
                with (this.Play_List.list[name]) {
                        _y = dy*i;
                        itemName.text = info[i];
                }
                this.Play_List.list[name].onRelease = playItem;
        }
        this.videoBox.videoFrame.autoPlay = true;
        this.videoBox.videoFrame.autoRewind = true;
        playFile(0);
}
 
function playItem() {
        no = this._name.substr(4);
        playFile(no);
        fixPosit();
}
function playFile(no) {
        this.videoBox.videoFrame.contentPath = "FLV/"+files[no];
}


Evgan 11.11.2009 00:46

с видео во flash Только начинаю знакомиться, но по аналогии с аудио могу предположить, что у данного вашего объекта видео может быть обработчик собятия оконьчания проигрывания ,у аудио он выглядит следующим образом:

Код AS1/AS2:

Sound.onSoundComplete


AntareSFire 11.11.2009 10:22

Похожего обработчика события я не нашел, зато нашел другой вариант, внимательно покапавшись в левой части панели AS:
Код AS1/AS2:

this.videoBox.videoFrame.addEventListener("rewind", fixPositThis);

Все заработало! =)


Часовой пояс GMT +4, время: 22:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.