AntareSFire
10.11.2009, 18:43
Здравствуйте народ.
Помогите пожалуйста, с проблемой!!! Обычно читал ваш форум и всегда находил ответ, а тут не нашел или плохо искал, пришлось зарегаться!
Проблема в следующем, пишу flv player, поместил на сцену FLVPlayBack, скин создал свой, данные для проигрывания берутся из XML-файла. После того как из XML'ьки вынута нужная инфа начинает строится динамический play list, все строится нормально и проигрывается тоже! Принцип работы play list'a нажимаем на любую запись и начинается воспроизведение, файл дошел до конца и перемотался на начало (то есть дальше по списку не идем, как например в виндовом плеере, а остаемся на выбранном файле).
Дак вот собственно вопрос, не могу написать код, точнее не знаю, который бы нес следующее смысловую нагрузку:
"После окончания проигрывания выбранного файла из play list'a, вызвать определенную функцию (ну мной написанную)"? типа
проигрывание завершилось {
fixPositThis();
}
Вот я тут код прикрепил, он не сложный, если кто знает, помогите пожалуйста, а то третий день голову ломаю, а ответа не могу найти. Заранее спасибо кто откликнется.
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];
}
Помогите пожалуйста, с проблемой!!! Обычно читал ваш форум и всегда находил ответ, а тут не нашел или плохо искал, пришлось зарегаться!
Проблема в следующем, пишу flv player, поместил на сцену FLVPlayBack, скин создал свой, данные для проигрывания берутся из XML-файла. После того как из XML'ьки вынута нужная инфа начинает строится динамический play list, все строится нормально и проигрывается тоже! Принцип работы play list'a нажимаем на любую запись и начинается воспроизведение, файл дошел до конца и перемотался на начало (то есть дальше по списку не идем, как например в виндовом плеере, а остаемся на выбранном файле).
Дак вот собственно вопрос, не могу написать код, точнее не знаю, который бы нес следующее смысловую нагрузку:
"После окончания проигрывания выбранного файла из play list'a, вызвать определенную функцию (ну мной написанную)"? типа
проигрывание завершилось {
fixPositThis();
}
Вот я тут код прикрепил, он не сложный, если кто знает, помогите пожалуйста, а то третий день голову ломаю, а ответа не могу найти. Заранее спасибо кто откликнется.
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];
}